標籤:符號 php cti 劃線 function ati 不同的 範圍 作用
PHP 變數規則:
- 變數以 $ 符號開頭,其後是變數的名稱
- 變數名稱必須以字母或底線開頭
- 變數名稱不能以數字開頭
- 變數名稱只能包含字母數字字元和底線(A-z、0-9 以及 _)
- 變數名稱對大小寫敏感($y 與 $Y 是兩個不同的變數)
注釋:PHP 變數名稱對大小寫敏感!
Local 和 Global 範圍
函數之外聲明的變數擁有 Global 範圍,只能在函數以外進行訪問。
函數內部聲明的變數擁有 LOCAL 範圍,只能在函數內部進行訪問。
1 <?php 2 $x=5; // 全域範圍 3 4 function myTest() { 5 $y=10; // 局部範圍 6 echo "<p>測試函數內部的變數:</p>"; 7 echo "變數 x 是:$x"; 8 echo "<br>"; 9 echo "變數 y 是:$y";10 } 11 12 myTest();13 14 echo "<p>測試函數之外的變數:</p>";15 echo "變數 x 是:$x";16 echo "<br>";17 echo "變數 y 是:$y";18 ?>PHP global 關鍵詞
global 關鍵詞用於訪問函數內的全域變數。
要做到這一點,請在(函數內部)變數前面使用 global 關鍵詞:
1 <?php 2 $x=5; 3 $y=10; 4 5 function myTest() { 6 global $x,$y; 7 $y=$x+$y; 8 } 9 10 myTest();11 echo $y; // 輸出 1512 ?>
PHP 同時在名為 $GLOBALS[index] 的數組中儲存了所有的全域變數。下標存有變數名。這個數組在函數內也可以訪問,並能夠用於直接更新全域變數。
上面的例子可以這樣重寫:
1 <?php 2 $x=5; 3 $y=10; 4 5 function myTest() { 6 $GLOBALS[‘y‘]=$GLOBALS[‘x‘]+$GLOBALS[‘y‘]; 7 } 8 9 myTest();10 echo $y; // 輸出 1511 ?>PHP static 關鍵詞
通常,當函數完成/執行後,會刪除所有變數。不過,有時我需要不刪除某個局部變數。實現這一點需要更進一步的工作。
要完成這一點,請在您首次聲明變數時使用 static 關鍵詞:
1 <?php 2 3 function myTest() { 4 static $x=0; 5 echo $x; 6 $x++; 7 } 8 9 myTest();10 myTest();11 myTest();12 13 ?>
PHP--01