global与$GLOBALS['']的区别及用法

【前言】

   PHP的变量作用域里有个global关键字

 

【作用】

   用于函数内访问全局变量,在函数内调用函数外定义的全局变量,我们需要在函数中的变量前加上 global 关键字

 

【案例】

<?php  
$x=5;  
$y=10;  
function myTest(){  
    global $x,$y;  
    $y=$x+$y;  
}  
myTest();  
echo $y; // 输出 15  
?>  

   PHP 将所有全局变量存储在一个名为 $GLOBALS[index] 的数组中。 index 保存变量的名称。这个数组可以在函数内部访问,也可以直接用来更新全局变量。

   上面的实例可以写成这样:

<?php  
$x=5;  
$y=10;   
function myTest(){  
    $GLOBALS['y']=$GLOBALS['x']+$GLOBALS['y'];  
}   
myTest();  
echo $y;  
?>  

 

【对比】

   很多人都认为global和$GLOBALS[]只是写法上面的差别,其实不然。

   根据官方的解释是:

      $GLOBALS['var'] 是外部的全局变量$var本身,PHP将所有全局变量存储在 $GLOBALS[index] 数组中;

      global $var 是外部$var的同名引用或者别名引用

 

 

 

参考网址:http://blog.csdn.net/Yeoman92/article/details/52681376

 关于php中& $var1中的&是什么意思?http://blog.csdn.net/qq_25551295/article/details/48807965

 

 

 

.

猜你喜欢

转载自570109268.iteye.com/blog/2412235