PHP簡介
PHP是一種被廣泛使用的開源腳本語言,腳本在服務器上運行。PHP文件能包括文本,HTML,CSS以及PHP代碼,PHP代碼在服務器上運行結果以純文本返回瀏覽器,PHP文件的后綴是.php
PHP的功能
生成動態頁面內容
創建打開讀取寫入刪除以及關閉服務器上的文件
接受表單數據
發送并取回cookies
添加、刪除、修改數據庫中的數據
限制用戶訪問網站中的某些頁面
對數據進行加密
PHP語法
PHP腳本以<?php 開頭,以?>結尾
<?php
//此處為PHP代碼
?>PHP語句以;結尾
PHP中的注釋:
<!DOCTYPE html>
<html>
<body>
<?php
//單行注釋
#單行注釋
/*這是跨行注釋塊
它垮了多行
*/
?>
</body>
</html>`PHP大小寫敏感
在PHP中,所有用戶定義的函數、類和關鍵詞(if else echo)都對大小寫不敏感。不過PHP中所有變量都對大小寫敏感PHP變量
在PHP中變量是存儲信息的容器變量規則:變量以$開頭,其后是變量名稱,對大小寫敏感
創建變量:PHP沒有創建變量的命令,變量會在首次為其賦值時被創建。如果為變量賦的值是文本,那么需要用引號包圍該值。即:我們不必告知PHP變量的數據類型,PHP將根據它的值自動把變量轉換為正確的數據類型。
-
PHP變量作用域
- local、global、static三種類型
函數之外聲明的變量擁有global作用域,只能在函數以外的部分進行訪問。函數內部聲明的變量擁有local作用域,只能在函數內部進行訪問 - global關鍵詞:用于訪問函數內的全局變量
<?php
$x=5;
$y=10;
function myTest(){
global $x,$y;
$y=$x+$y;
}
myTest();
echo $y;//輸出15
?> - static關鍵詞
通常當函數完成后會刪除所有變量,不過有時我們需要不刪除某個局部變量,要實現這個功能,我們需要在第一次聲明該變量時使用static關鍵詞。這樣,每當函數被調用時,這個變量所存儲的信息都是函數最后一次被調用時所包含的信息。注意該變量仍然是局部變量
- local、global、static三種類型
echo、print語句
在PHP中有兩種基本的輸出方法:echo和printecho語句能夠輸出一個以上的字符串,print只能輸出一個字符串,并始終返回1。echo語句比print稍快,因為它不返回任何值
echo是一個語言結構,有無括號均可使用
<?php
echo "<h2>PHP is fun !</h2>";
echo "Hello world !
";
echo "I 'm about to learn PHP!
";
echo "This","string","was","made",
"with multiple parameters.";
?>
下面展示echo語句如何打印變量
<?php
$txt1="Learn PHP";
$txt2="W3School.com.cn";
$cars=array("Volvo","BMW","SAAB");
echo $txt1;//Learn PHP
echo "
";//換行
echo "study PHP at $txt2";//study PHP at W3School.com.cn
echo "My car is a {$cars[0]}";//My car is a Volvo
?>print語句打印字符,有無括號均可使用
<?php
$txt1="Learn PHP";
print "<h2>PHP is fun !</h2>";
print "Hello world !
";
print $txt1;
?>PHP數據類型
數組:var_dump()會返回變量的數據類型和數值
<?php
$cars=array("Volvo","BMW","SAAB")
var_dump($cars)//array(3) {[0]=>string(5) "Volvo"[1]=....}
?>對象:
<?php
class Car
{
var $color;
function Car($color="green"){
$this->color=$color;
}
function what_color(){
return $this->color;
}
}
?>PHP字符串函數
strlen()函數,返回字符串的長度
strops()函數用于檢索字符串內指定的字符或文本,如果找到匹配則返回首個匹配的字符位置。如果未找到匹配則返回FALSE
<?php
echo strops("Hello world!","world");//6
?>PHP常量
常量是單個值的標識符,在腳本中無法改變其值,常量貫穿整個腳本是自動全局的。
設置常量使用define()函數,它的三個參數為:首個參數定義常量的名稱
第二個參數定義常量的值
可選的第三個參數規定常量名是否對大小寫敏感,若為true則對大小寫不敏感,默認為false,對大小寫敏感
<?php
define("GREETING","Welcome to W3School.com.cn !";
echo GREETING;
?>for-each循環
只適用于數組,并遍歷數組中的每個鍵對
<?php
$colors=array("red","green","blue","yellow");
foreach($colors as $value){
echo "$value
";
}
?>函數
PHP擁有強大的內建函數(1000+)
用戶定義的函數只有在調用的時候才會被執行
<?php
function setHeight($midheight=50){
echo "The height is : $midheight
";
}
setHeight(350);
setHeight();//使用默認值50
function sum($x,$y){
$z=$x+$y;
return $z;
}
echo "5+10=".sum(5,10)."
";
?>數組
數組的類型:索引數組,關聯數組和多維數組
索引數組:
$cars=array("Volvo","BMW","SAAB");獲取數組長度-count函數
echo count($cars);//3關聯數組:使用分配給數組的指定鍵的數組。
<?php
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
echo "Peter is ".$age['Peter']." years old."
?>關聯數組的遍歷
foreach("age as $x=>$x_value){
echo "Key=".$x.", Value=".$x_value;
echo "
";
}
?>數組排序
PHP內置數組排序函數:sort()-升序對數組排序
rsort()-降序對數組排序
asort()-根據值,以升序對關聯數組排序
ksort()-根據鍵,以升序對關聯數組排序
arsort()-根據值以降序對關聯數組進行排序
krsort()-根據鍵以降序對關聯數組進行排序
<?php
$cars=array("Volvo","BMW","SAAB");
sort($cars);
?>全局變量