Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.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
PHP5.4特定于ISSET的有关$\u GET的查询$_后超全局_Php_Isset_Superglobals - Fatal编程技术网

PHP5.4特定于ISSET的有关$\u GET的查询$_后超全局

PHP5.4特定于ISSET的有关$\u GET的查询$_后超全局,php,isset,superglobals,Php,Isset,Superglobals,我必须将一个任务关键型(不是全部吗?)Ubuntu服务器从PHP5.3升级到5.4,除了一个可能的问题之外,我对所有的问题都很满意。 我们的PHP脚本包含大约1200个ISSET()引用,几乎所有引用都检查$\u GET或$\u POST变量的状态,这些变量的名称都包含字符串,而不是数字 我知道(5.3 v 5.4)的区别,其中5.4在使用ISSET($var['somestringvalue'])时返回false,我的问题是这种不必要的行为是否会应用到字符串值$\u POST和$\u GET变

我必须将一个任务关键型(不是全部吗?)Ubuntu服务器从PHP5.3升级到5.4,除了一个可能的问题之外,我对所有的问题都很满意。 我们的PHP脚本包含大约1200个ISSET()引用,几乎所有引用都检查$\u GET或$\u POST变量的状态,这些变量的名称都包含字符串,而不是数字

我知道(5.3 v 5.4)的区别,其中5.4在使用ISSET($var['somestringvalue'])时返回false,我的问题是这种不必要的行为是否会应用到字符串值$\u POST和$\u GET变量


我想快速构建一个5.4测试服务器,但是我们使用了太多的扩展和调整,以至于说起来容易做起来难。所以我想我应该先在这里碰碰运气。提前感谢。

这不是一种“不想要的行为”,它实际上很有用。只有在对字符串调用isset()时,行为才会更改

$string = 'My string'; // length = 9, character indexes 0 to 8
var_dump(isset($string[5])); // makes sense -> checks whether there's a character on the 5th position (true)
var_dump(isset($string[10])); // makes sense -> checks whether there's a character on the 10th position (false)
var_dump(isset($string['foo'])); // doesn't make sense -> checks whether there's a character on the "foo" position (false)
由于$\u GET和$\u POST始终是关联数组,因此这种新行为在任何情况下都不会影响您。有关更多信息,请查看以下位置的手册:


PS:你应该考虑一个开发服务器,测试这样的事情而不会给你的用户/客户造成问题!p> “但是我们使用了如此多的扩展和调整”,这听起来更像是设置测试服务器的理由。我同意,但我的测试服务器被借调用作精确的镜像备份,以最大限度地减少停机时间!非常感谢——我应该对我的“不想要的行为”评论加以限定——在我需要做的事情的背景下,我的意思是不想要的。