-1

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

为什么会这样?

4

3 回答 3

0

这就是 $GLOBALS 在 PHP http://php.net/manual/fr/reserved.variables.globals.php中的工作方式

于 2013-08-20T08:04:51.120 回答
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 在当前范围内:局部变量

来源

于 2013-08-20T08:06:57.960 回答
0

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

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

于 2013-08-20T08:07:13.387 回答