Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
$HTTP\u XXX\u VARS与PHP中的$\u XXX不同吗?_Php - Fatal编程技术网

$HTTP\u XXX\u VARS与PHP中的$\u XXX不同吗?

$HTTP\u XXX\u VARS与PHP中的$\u XXX不同吗?,php,Php,以下代码有意义吗 $t_server = isset( $_SERVER ) ? $_SERVER : $HTTP_SERVER_VARS; 据我所知,$HTTP\u XXX\u VARS与$\u XXX相同,只是$HTTP\u XXX\u VARS已被弃用。因此,我不理解上面的代码 在旧系统中是否存在两个变量不同的情况,在旧系统中,$HTTT\u XXX\u VARS未被视为已弃用?$HTTP\u SERVER\u VARS是不同的变量(如果两者都已设置)。它们最初包含相同的值,但由于不同,

以下代码有意义吗

$t_server = isset( $_SERVER ) ? $_SERVER : $HTTP_SERVER_VARS;
据我所知,
$HTTP\u XXX\u VARS
$\u XXX
相同,只是
$HTTP\u XXX\u VARS
已被弃用。因此,我不理解上面的代码


在旧系统中是否存在两个变量不同的情况,在旧系统中,
$HTTT\u XXX\u VARS
未被视为已弃用?

$HTTP\u SERVER\u VARS
是不同的变量(如果两者都已设置)。它们最初包含相同的值,但由于不同,脚本对其中一个所做的更改不会影响另一个

$\u GET
$\u POST
$\u服务器
等)是在
PHP4.1
上引入的。长名称变量(
$HTTP\u GET\u VARS
$HTTP\u SERVER\u VARS
等)在
PHP4.1
上被弃用,在
PHP5.4
上被删除

PHP5.0
引入了配置设置,用于告诉
PHP
创建(或不创建)旧的长名称变量(
$HTTP\u GET\u VARS
和其他变量)。该设置在
PHP5.3
上被弃用,在
PHP5.4
上被完全删除(以及长名称数组)

如您所见,在
php4.0
和PHP
5.4
之间,程序员可以使用这些变量的一个或两个版本

该行:

$t_server = isset( $_SERVER ) ? $_SERVER : $HTTP_SERVER_VARS;
利用新的超全局变量
$\u SERVER
(如果可用)(在
PHP>=4.1
上),但如果在较旧的
PHP
上运行,则返回到旧的
$HTTP\u SERVER\u VARS
。它可能是几年前编写的,而
php4
仍在许多服务器上使用

除了在不太可能的情况下使用
PHP4.0
,您可以安全地将上述行更改为:

$t_server = $_SERVER;

或者只使用
$\u服务器
,而不是到处使用
$t\u服务器

在PHP3和更早版本中,$\u服务器不存在。所以,这段代码显然想在非常旧的PHP安装上发挥作用。@kainaw:这是一个很好的假设,但isset()已经在PHP4中出现。也许这一行的作者读文档太快了=)@Jeon:所以,如果你想更正这一行,你可以。这将不会发生。文档中没有提到版本之间的任何差异,也没有提到注释。这只是一个更名的变量,以与其他超地球行星的命名更为一致。我的回答是:删除那个代码,它已经过时了-不必再担心那个了。