我想重现PHP版本的复活节彩蛋(http://www.0php.com/php_easter_egg.php)。如何检查空的获取索引?
正如你可以看到,GET参数没有名字:?=PHPE9568F36-D428-11d2-A769-00AA001ACF42
我可以检查与$_SERVER['REQUEST_URI']
的URL,但有没有办法检查仅使用$_GET
阵列?我试过$_GET['']
,但它似乎不起作用。
我想重现PHP版本的复活节彩蛋(http://www.0php.com/php_easter_egg.php)。如何检查空的获取索引?
正如你可以看到,GET参数没有名字:?=PHPE9568F36-D428-11d2-A769-00AA001ACF42
我可以检查与$_SERVER['REQUEST_URI']
的URL,但有没有办法检查仅使用$_GET
阵列?我试过$_GET['']
,但它似乎不起作用。
$_GET
在这个例子中是空的,所以不行,这是不可能的。您可以使用$_SERVER['QUERY_STRING']
。
[QUERY_STRING] => =PHPE9568F36-D428-11d2-A769-00AA001ACF42
[REQUEST_URI] => /test.php?=PHPE9568F36-D428-11d2-A769-00AA001ACF42
这似乎有趣,所以我做了一个快速的解决方案:
请求参数1 = ASD &参数3 = 123 & = PHPE9568F36-D428-11d2-A769-00AA001ACF42
PHP?
function getFullRequest()
{
$tmp = explode('&', $_SERVER['QUERY_STRING']);
$request = [];
if (!empty($tmp) && is_array($tmp)) {
foreach($tmp as $item) {
$req = explode('=', $item);
if (!empty($req) && is_array($req)) {
$request[$req[0]] = $req[1];
}
}
}
return $request;
}
$request = getFullRequest();
var_dump($request);
结果
array (size=3)
'param1' => string 'asd' (length=3)
'param3' => string '123' (length=3)
'' => string 'PHPE9568F36-D428-11d2-A769-00AA001ACF42' (length=39) // <- necessary value
这是什么'的var_dump($ _ GET)'给你设置'?= PHPE9568F36-D428-11d2-A769-00AA001ACF42'什么时候? – Peon
不,你不能! '$ _GET'将是一个空数组 – Thamilan
这[复活节彩蛋]似乎是PHP4唯一的复活节彩蛋,或者至少,它不适用于各种PHP网站 – Martin