dinggela 发表于 2017-3-23 11:46:09

php 中的 global 与 $GLOBALS[]

  global在函数产生 一个指向函数外部变量的别名 变量,而不是真正的函数外部变量,一但转变了别名 变量的指向地址,就会产生一些意料不到情况 ,例如例子1.
$GLOBALS[]确确凿实调用是外部的变量,函数内外会始终维持一致!
可以对照 下面两个列子:
global:
<?php
function myfunction(){
    global $bar;
    unset($bar);
}
$bar="someting";
myfunction();
echo $bar;
?>
输出:someting
$global[]:
<?php
    function foo()
{
    unset($GLOBALS['bar']);
}
$bar = "something";
foo();
echo $bar;
?>
输出:空
页: [1]
查看完整版本: php 中的 global 与 $GLOBALS[]