PHP 提供了大量的预定义变量。 由于许多变量取决于运行服务器的版本和设置以及其他因素,因此没有详细的文档。 当 PHP 从命令行运行时,某些预定义变量不会生效。 有关这些变量的详细列表。
用户定义的预定义变量
示例代码如下:
"; echo '本文件路径和文件名为:'.__FILE__.'
'; echo "当前PHP版本信息".PHP_VERSION."
"; ?>
登录复制
系统预定义变量
$
包含对每个当前脚本的全局范围内可用的变量的引用。 该数组的键是全局变量的名称。 $ 数组从 PHP 3 开始就存在。
$
由 Web 服务器设置的变量或与当前脚本的执行环境直接关联的变量。 与旧数组 $array 类似(仍然有效,但已弃用)。
$_GET
通过 URL 请求提交给脚本的变量。 与旧数组 $array 类似(仍然有效,但已弃用)。
$_POST
通过 HTTP POST 方法提交给脚本的变量。 与旧数组 $array 类似(仍然有效,但已弃用)。
$
通过 HTTP 方法提交给脚本的变量。 与旧数组 $array 类似(仍然有效,但已弃用)。
$
通过 HTTP POST 文件上传提交给脚本的变量。 与旧数组 $array 类似(仍然有效,但已弃用)。 有关详细信息,请参阅 POST 方法上传。
$_ENV
执行环境提交给脚本的变量。 与旧数组 $array 类似(仍然有效,但已弃用)。
$
通过 GET、POST 等机制提交给脚本的变量,因此该数组不可信。 该数组中包含的所有变量的存在和顺序是根据 php.ini 中的配置指令定义的。 该数组在 PHP 4.1.0 之前没有直接等效项。 请参阅 bles()。
从 PHP 4.3.0 开始,$ 中的文件信息不再存在于 $ 中。
注意:在命令行模式下运行时,该数组将不包含 argv 和 argc 的条目; 它们已经存在于数组$中。
$
当前在脚本会话中注册的变量。 与旧数组 $array 类似(仍然有效,但已弃用)。
$['']
当前执行脚本的文件名,相对于根目录。 例如,在带有 URL 地址的脚本中使用 $[''] 将得到 /test.php/foo.bar 的结果。 如果 PHP 作为命令行运行,则该变量无效。
$['']
当前运行脚本的服务器主机的名称。 如果脚本在虚拟主机上运行,则名称由该虚拟主机设置的值确定。 例如,在URL地址/test.php中$['']将会得到这个结果。
示例代码如下:
登录复制
在php 4.2.0及后续版本中,php指令的默认值是off。 这是 php 的一个重大变化。 off 值将影响全局范围内预定义变量集的有效性。 例如,要获取 的值,您必须使用 $[''] 而不是 $,例如,使用 $_GET['id'] 而不是 $id 来从中获取 id 值,或者使用 $ _ENV['HOME'] 而不是 $HOME 获取环境变量 HOME 的值。