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是局部和全局,没什么好说的。