global
函數內調用函數外定義的全局變量,需要在函數中的變量前添加global關鍵字。
1 <?php 2 $a = 3; 3 $b = 4; 4 function getSum(){ 5 global $a,$b; 6 $a += $b; 7 } 8 getSum(); 9 echo $a; 10 ?>
php將全局變量儲存在$GLOBALS['variable'] 數組中,所以也可以使用下面方式引入
1 <?php 2 $a = 3; 3 $b = 4; 4 function getSum(){ 5 $GLOBALS['a'] += $GLOBALS['b']; 6 } 7 getSum(); 8 echo $a; 9 ?>
static
static修飾的局部變量能夠保證在函數完成時不被刪除
1 <?php 2 function getNum(){ 3 static $a = 3; 4 $b = 5; 5 $a++; 6 $b++; 7 print($a.$b); 8 echo '<br />'; 9 } 10 getNum(); 11 getNum(); 12 getNum(); 13 ?>
輸出結果:
46
56
66
至於local和global是局部和全局,沒什么好說的。