2014-09-01 78 views
-1

我正在開發一個配置工具,允許靈活配置某些代碼來獲取特定數組元素(在本例中爲POST變量)。 (我知道這個問題可以用一個遞歸調用來解決,但遇到了好奇,我不明白。PHP:無法使用變量變量進行多維數組訪問

我遇到的問題是,variable variables沒有做什麼,我希望能夠去做。

有沒有人有解釋爲什麼我似乎無法做到這一點,當邏輯說我應該能夠?

首先測試

$_POST['a']['array']['key'] = 10; 

$thisSearchLocation = '_POST[\'a\'][\'array\'][\'key\']'; 

echo $$thisSearchLocation; 

echo $_POST['a']['array']['key']; 

// Expected Output: 1010 
// Actual Output: Notice: Undefined variable: _POST['a']['array']['key'] in test.php10 

二測

在這個測試中,似乎我已經使用可變變量來創建一個變量,我只能通過重新使用可變的變量,並獲得無另一種方式。

$_POST['a']['array']['key'] = 10; 

$thisSearchLocation = '_POST[\'a\'][\'array\'][\'key\']'; 

$$thisSearchLocation = 9; 

echo $$thisSearchLocation; 

echo $_POST['a']['array']['key']; 

// Expected Output: 99 
// Actual Output: 910 

回答

0

可變變量動態設置variable。括號不是變量名稱的一部分。 $_POST是一個變量,$_POST['a']是您如何訪問$_POST陣列的a元素。