1

这是关于 PHP 全局变量的。这是否意味着全局变量通过 HTTP 请求简单地赋值(即:预先存在但没有值的变量),或者变量被“实例化”并赋值(即:脚本中不预先存在的变量) ? 我还没有看到任何解释的文字。

4

2 回答 2

1

register使用 globals 仅仅意味着将各种请求变量注册为全局可用的过程。然而,在这种情况下,“注册”与“分配”或“设置”根本不同,因为全局变量固有地链接到它们的超全局键对应物(或“注册”作为别名),也许最好用这段代码总结:

// register_globals is on
$_POST["username"] === $username; // true

$username = "foo";
$_POST["username"] === $username; // *still* true

$_POST["username"] = "bar";
$_POST["username"] === $username; // *still* true

也就是改变一个会改变对应的超全局键。当然,不应该依赖这种行为——如果你一开始就在使用register_globals,那你就做错了。

于 2012-09-04T00:36:50.527 回答
0

PHPregister_globals将创建适当的全局变量并为其赋值。请注意,使用 可能是一个非常糟糕的主意register_globals,因为它会带来安全风险。最好使用超全局数组$_POST,$_GET$_COOKIE.

于 2012-09-04T00:34:27.017 回答