问题是是否可以使用字符串或其他数组来处理多维数组。 说我们有:
$a['key1']['key2'] = "value"
//and
$keyArray = array('key1', 'key2')
//or
$keyString = 'key1,key2'
是否可以执行以下操作:
$a[$keyArray]
//or
$a[keyString]
然后会给我回值“值”?
显然,我所写的内容不起作用(至少不在我的系统上),但是类似的东西是可能的,如果是的话,怎么样?
感谢。
答案 0 :(得分:1)
据我所知,这是不可能的。不过我觉得http://php.net/manual/en/class.arrayiterator.php可能会帮助您回答您的问题
答案 1 :(得分:1)
如果你想要一个班轮:
$a['key1']['key2'] = "value";
$keyArray = array('key1', 'key2');
$value=$a;foreach ($keyArray as $key) $value=$value[$key];
echo $value;
您应该注意,这显然不会检查密钥是否存在。
答案 2 :(得分:0)
显然,您无法使用某个字符串或一个数组值传递两个索引。但是如果你需要以这种方式使用它,那么一种方法可以是:
$a['key1']['key2'] = "value"
$keyArray = array('key1', 'key2');
$a[$keyArray[0]][$keyArray[1]]//'value'
如果你以某种方式接收$keyArray
中的关键值,你只能通过这种方式访问$a
,否则直接访问是最方便的:
$a['key1']['key2']//'value'
我希望它有所帮助