下面是代碼示例:PHP使用鍵獲得使用變量作爲數組名稱的數組的元素
$test = array(
1 => 'one',
2 => 'two',
3 => 'three'
);
$arrayName = 'test';
error_log(print_r($$arrayName, 1));
error_log($$arrayName[1]);
輸出:
Array
(
[1] => one
[2] => two
[3] => three
)
PHP Notice: Undefined variable: e in /Applications/MAMP/htdocs/_base/test.php on line 12
我希望的是,第二線將輸出'一',顯然它沒有工作。看起來括號具有更高的解析優先級,所以$ arrayName在這裏被當作數組。
我嘗試使用大括號首先包裝$$ arrayName,它不知何故導致PHP解析錯誤。由於最終我需要使用unset刪除選定的元素,因此使用臨時變量來存儲數組並不理想。想知道是否有任何方法可以在一條線內完成。任何見解都被讚賞!
爲什麼使用變量變量而不是關聯數組? – Barmar
$ {$ arrayName} [1]; – DavidLin