PHP編程基本文法快速入門手冊,基本文法快速入門
php指令碼的後面名為.php,代碼放置在下面的括弧裡面:
<?php.......?>
echo可以列印資訊,類似於printf。
<?phpecho "hallo world";?>
每條語句後面用分號結尾;。
php支援三種注釋方式:
<?php// 第一種# 第二種/*這是多行注釋*/?>
在php中,函數、類、和關鍵詞的大小寫都是同一個東西:
<?phpECHO "Hello World!
";echo "Hello World!
";EcHo "Hello World!
";?>
不過所有變數都對大小寫敏感,需要區分大小寫。
<?php$color="red";$Color="black";echo "my car is " . $color . "
";echo "my car is " . $Color . "
";?>
上面的例子同時指出了變數定義以及字串拼接的文法。
變數命名規則:
PHP 變數規則:
- 變數以 $ 符號開頭,其後是變數的名稱
- 變數名稱必須以字母或底線開頭
- 變數名稱不能以數字開頭
- 變數名稱只能包含字母數字字元和底線(A-z、0-9 以及 _)
- 變數名稱對大小寫敏感($y 與 $Y 是兩個不同的變數)
- 變數會在第一次賦值時被建立。無需聲明變數的類型。
變數會有三種不同的範圍:
PHP 有三種不同的變數範圍:
- local(局部)
- global(全域)
- static(靜態)
函數之外聲明的變數擁有 Global 範圍,只能在函數以外進行訪問。
函數內部聲明的變數擁有 LOCAL 範圍,只能在函數內部進行訪問。
下面的例子測試了帶有局部和全域範圍的變數:
<?php$x=5; // 全域範圍function myTest() { $y=10; // 局部範圍 echo "測試函數內部的變數:
"; echo "變數 x 是:$x"; echo "
"; echo "變數 y 是:$y";} myTest();echo "測試函數之外的變數:
";echo "變數 x 是:$x";echo "
";echo "變數 y 是:$y";?>
運行結果:
測試函數內部的變數:
變數 x 是:
變數 y 是:10
測試函數之外的變數:
變數 x 是:5
變數 y 是:
比較奇怪的就是為什麼全域變數不能在局部函數內訪問。
其實可以訪問,不過需要global關鍵字的協助:
global 關鍵詞用於訪問函數內的全域變數。
要做到這一點,請在(函數內部)變數前面使用 global 關鍵詞:
<?php$x=5;$y=10;function myTest() { global $x,$y; $y=$x+$y;}myTest();echo $y; // 輸出 15?>
PHP 同時在名為 $GLOBALS[index] 的數組中儲存了所有的全域變數。下標存有變數名。這個數組在函數內也可以訪問,並能夠用於直接更新全域變數。
<?php$x=5;$y=10;function myTest() { $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];} myTest();echo $y; // 輸出 15?>
通常,當函數完成執行後,會刪除所有變數。不過,有時我需要不刪除某個局部變數。實現這一點需要static:
<?phpfunction myTest() { static $x=0; echo $x; $x++;}myTest();myTest();myTest();?>
php中echo和print都能使用,兩者的唯一區別是print返回1,echo沒有傳回值。
strlen函數可以返回字串的長度。
strpos函數用來確定另外一個字串的位置:
<?phpecho strpos("Hello world!","world");?>
使用define函數來定義常量:
<?phpdefine("GREETING", "Welcome to W3School.com.cn!");echo GREETING;?>
define函數還有第三個參數,用來指定是否大小寫敏感。
php的if-else語句和其他語言大同小異,舉個例子:
<?php$t=date("H");if ($t<"10") { echo "Have a good morning!";} elseif ($t<"20") { echo "Have a good day!";} else { echo "Have a good night!";}?>
switch-case語句:
<?phpswitch ($x){case 1: echo "Number 1"; break;case 2: echo "Number 2"; break;case 3: echo "Number 3"; break;default: echo "No number between 1 and 3";}?>
while、for語句和其他語言無差別,看看foreach吧:
<?php $colors = array("red","green","blue","yellow"); foreach ($colors as $value) { echo "$value
";}?>
php的真正力量來自於它的函數,它有1000個內建函數。
使用者定義的函式宣告以關單 "function" 開頭:
function functionName() {
被執行的代碼;
}
舉個例子:
<?phpfunction writeMsg() { echo "Hello world!";}writeMsg(); // 調用函數?>// 含參數<?phpfunction familyName($fname,$year) { echo "$fname Zhang. Born in $year
";}familyName("Li","1975");familyName("Hong","1978");familyName("Tao","1983");?>// 預設參數<?phpfunction setHeight($minheight=50) { echo "The height is : $minheight
";}setHeight(350);setHeight(); // 將使用預設值 50setHeight(135);setHeight(80);?>// 傳回值<?phpfunction sum($x,$y) { $z=$x+$y; return $z;}echo "5 + 10 = " . sum(5,10) . "
";echo "7 + 13 = " . sum(7,13) . "
";echo "2 + 4 = " . sum(2,4);?>
在 PHP 中,有三種數群組類型:
- 索引數組 - 帶有數字索引的數組
- 關聯陣列 - 帶有指定鍵的數組
- 多維陣列 - 包含一個或多個數組的數組
索引數組:
$cars=array("Volvo","BMW","SAAB");<?php$cars=array("Volvo","BMW","SAAB");echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";?>// count<?php$cars=array("Volvo","BMW","SAAB");echo count($cars);?>// 變數索引數組<?php$cars=array("Volvo","BMW","SAAB");$arrlength=count($cars);for($x=0;$x<$arrlength;$x++) { echo $cars[$x]; echo "
";}?>
關聯陣列:
$age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43");
或
$age['Peter']="35";$age['Ben']="37";$age['Joe']="43";<?php$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");echo "Peter is " . $age['Peter'] . " years old.";?>// 遍曆<?php$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");foreach($age as $x=>$x_value) { echo "Key=" . $x . ", Value=" . $x_value; echo "
";}?>
數組排序方法有下面這些:
- sort() - 以升序對數組排序
- rsort() - 以降序對數組排序
- asort() - 根據值,以升序對關聯陣列進行排序
- ksort() - 根據鍵,以升序對關聯陣列進行排序
- arsort() - 根據值,以降序對關聯陣列進行排序
- krsort() - 根據鍵,以降序對關聯陣列進行排序
比較難理解的是索引值對排序。
<?php$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");asort($age);?><?php$age=array("Bill"=>"35","Steve"=>"37","Peter"=>"43");ksort($age);?>
超全域變數,也就是預定義的全域變數,在哪裡都能用,有特殊含義:
- $GLOBALS:引用全域範圍中可用的全部變數
- $_SERVER:儲存關於前序、路徑和指令碼位置的資訊。
- $_REQUEST:用於收集 HTML 表單提交的資料。
- $_POST:用於收集提交 method="post" 的 HTML 表單後的表單資料。也常用於傳遞變數。
- $_GET:$_GET 也可用於收集提交 HTML 表單 (method="get") 之後的表單資料。
- $_FILES
- $_ENV
- $_COOKIE
- $_SESSION
其他內容可以在表單處理中找到。
您可能感興趣的文章:
- PHP 基本文法格式
- PHP教程 基本文法
- PHP insert文法詳解
- PHP文法速查表
- PHP文法自動檢查的Vim外掛程式
- phpRegex的基本文法總結
- 前端必學之PHP文法基礎
- PHP文法小結之基礎和變數
- PHP基本文法總結
http://www.bkjia.com/PHPjc/1089576.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1089576.htmlTechArticlePHP編程基本文法快速入門手冊,基本文法快速入門 php指令碼的後面名為.php,代碼放置在下面的括弧裡面: php....... echo可以列印資訊,類似於...