标签:符号 php cti 划线 function ati 不同的 作用域 作用
注释:PHP 变量名称对大小写敏感!
函数之外声明的变量拥有 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 ?>
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; // 输出 15 12 ?>
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; // 输出 15 11 ?>
通常,当函数完成/执行后,会删除所有变量。不过,有时我需要不删除某个局部变量。实现这一点需要更进一步的工作。
要完成这一点,请在您首次声明变量时使用 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 cti 划线 function ati 不同的 作用域 作用
原文地址:http://www.cnblogs.com/The-courage-that-year/p/7138842.html