PHP使用数组或字符串来处理多维数组?

时间:2016-12-15 14:19:51

标签: php arrays

问题是是否可以使用字符串或其他数组来处理多维数组。 说我们有:

$a['key1']['key2'] = "value"
//and
$keyArray = array('key1', 'key2')
//or 
$keyString = 'key1,key2'

是否可以执行以下操作:

$a[$keyArray] 
//or
$a[keyString]

然后会给我回值“值”?

显然,我所写的内容不起作用(至少不在我的系统上),但是类似的东西是可能的,如果是的话,怎么样?

感谢。

3 个答案:

答案 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'

我希望它有所帮助