PHP 预定义变量是对于全部脚本而言的,PHP 为脚本提供了大量的预定义变量。这些变量将所有的外部变量表示成内建环境变量,并且将错误信息表示成返回头。
PHP 预定义变量是对于全部脚本而言的,PHP 为脚本提供了大量的预定义变量。这些变量将所有的外部变量表示成内建环境变量,并且将错误信息表示成返回头。
php 提供了大量的预定义变量。由于许多变量依赖于运行的服务器的版本和设置,及其它因素,所以并没有详细的说明文档。一些预定义变量在 php 以命令行形式运行时并不生效。
PHP中预定义了几个"超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。
PHP 超级全局变量列表:
$GLOBALS$_SERVER$_REQUEST$_POST$_GET$_FILES$_ENV$_cookie$_SESSIONphp 4.2.0 以及后续版本中,php 指令 register_globals 的默认值为 off。这是 php 的一个主要变化。让 register_globals 的值为 off 将影响到预定义变量集在全局范围内的有效性。例如,为了得到 document_ROOT 的值,将必须使用 $_SERVER 代替 $document_ROOT,又如,使用 $_GET 来代替 $id 从中获取 id 值,亦或使用 $_ENV 来代替 $HOME 获取环境变量 HOME 的值。
更多相关信息,请阅读 register_globals 的配置项条目,安全一章中的使用 Register Globals,以及 php 4.1.0 和 4.2.0 的发行通告。
如果有可用的 php 预定义变量那最好用,如超全局变量。
注: 当运行于命令行模式时,此数组将不会包含 argv 和 argc 条目;它们已经存在于数组 $_SERVER 中。
$_SESSION 当前注册给脚本会话的变量。类似于旧数组 $HTTP_SESSION_VARS 数组(依然有效,但反对使用)。