提问人:Ben Dauphinee 提问时间:9/1/2014 更新时间:9/1/2014 访问量:205
PHP:无法使用变量进行多维数组访问
PHP: Unable to use variable variables for multi-dimensional array access
问:
我正在开发一个配置工具,允许对某些代码进行灵活配置以获取特定的数组元素(在本例中为 POST vars)。(我知道这个问题可以通过递归调用来解决,但遇到了一个我不明白的好奇心。)
我遇到的问题是变量没有做我期望能够做的事情。
有没有人解释为什么我似乎不能这样做,而逻辑说我应该能够这样做?
第一次测试
$_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赞
user3942918
9/1/2014
#1
变量变量动态设置变量名称。括号不是变量名称的一部分。 是一个变量,是你访问数组元素的方式。$_POST
$_POST['a']
a
$_POST
评论