php 中的全局变量的理解

$GLOBALS 是php中的一个全局变量的数组。

$GLOBALS['var1']  代表的是 外部的全局变量 $var1 本身。global $var是外部$var的同名引用或者指针

例1:

<?php 
$var1 = 1; 
function test(){ 
unset($GLOBALS['var1']); 
} 
test(); 
echo $var1; 
?> 

结果是:  

说明变量 $var1 已经删除了。

例2:

<?php
$var1 = 1;

function test(){
      global $var1;
      unset($var1);  
}
test();
echo $var1;

例3:

<?php
$var1 = 1;
function test(){
    global $var1;
    $var1 = 23;
    unset($var1);
//    echo $var1;
}
test();
echo $var1;
?> 

  上面的例子说明了 函数里面通过 global $var1;申明的变量 $var1 其实是外部的全局变量$var1 的引用(或者说是外部的全局变量$var1的指针),

  删除函数里面的变量 $var1, 只是把这个指针删除了,并不影响外面的全局变量的值。当然,在函数里面对 变量$var1的赋值还是会对外面的全局变量 $var1生效。

原文地址:https://www.cnblogs.com/oxspirt/p/5626934.html