PHP:用户声明的变量覆盖$ GLOBALS中的变量

时间:2013-08-20 08:02:14

标签: php variables

我在代码中声明了一个变量($ bonus)并为其分配了一个值。在此之后,$GLOBALS['bonus']包含相同的值。

为什么会这样?

3 个答案:

答案 0 :(得分:0)

这就是$ GLOBALS在PHP http://php.net/manual/fr/reserved.variables.globals.php

中的工作方式

答案 1 :(得分:0)

这就是它的表现方式。

<?php
function test() {
    $foo = "local variable";

    echo '$foo in global scope: ' . $GLOBALS["foo"] . "\n";
    echo '$foo in current scope: ' . $foo . "\n";
}

$foo = "Example content";
test();
?>
  

全局范围内的$ foo:示例内容
当前范围内的$ foo:local   变量

Source

答案 2 :(得分:0)

如果有一个同名的全局变量,它会被覆盖,这是PHP中的正常行为。

这也是你永远不应该使用全局变量的原因。