我想重現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