$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
和PHP5.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:所以,如果你想更正这一行,你可以。这将不会发生。文档中没有提到版本之间的任何差异,也没有提到注释。这只是一个更名的变量,以与其他超地球行星的命名更为一致。我的回答是:删除那个代码,它已经过时了-不必再担心那个了。