PHP中关于global和$GLOBALS的区别

测试1:

$a = 10;

$b = 20;

function test(){

    global $a,$b;

    $a = &$b;

}

test();

echo $a;

结果:$a = 10;

测试2:

$a = 10;

$b = 20;

function test2(){

    $GLOBALS['a'] = &$GLOBALS['b'];

}

test2();

echo $a;

结果:$a = 20;

总结:

        global在函数内产生一个指向函数体外的别名变量,不是真正的函数体外变量,对函数体内变量的操作不会影响到函数体外的变量;$GLOBALS调用的是真实的函数体外部变量,变量在函数体内外保持一致。

你可能感兴趣的:(PHP中关于global和$GLOBALS的区别)