2
我有以下代碼。
$hello = "World";
$test = "hello";
echo $$test;
當我執行此我得到的結果是:世界
到目前爲止好
但是當我使用的保留變量,例如$ _GET這是行不通的。
$test = "_GET";
var_dump($$test);
這裏的結果是NULL。有沒有辦法通過變量變量來獲取保留變量的值?
我有以下代碼。
$hello = "World";
$test = "hello";
echo $$test;
當我執行此我得到的結果是:世界
到目前爲止好
但是當我使用的保留變量,例如$ _GET這是行不通的。
$test = "_GET";
var_dump($$test);
這裏的結果是NULL。有沒有辦法通過變量變量來獲取保留變量的值?
Superglobals只能在全局範圍內由變量變量取消引用。你無法實現它的事實似乎表明你的代碼是在一個函數/方法中。在這種情況下,你可以使用超全局$GLOBALS
:
function foo() {
$str = '_GET';
var_dump($GLOBALS[$str]);
}
foo();
你不能以這種方式使用[超級全局(http://php.net/manual/en/language.variables.superglobals.php)。 – omerowitz
@Duvdevan是的,你可以,但只在全球範圍內。 –
超全球變種總是在全球範圍內。你如何使用它們? – omerowitz