【发布时间】:2013-12-06 12:33:42
【问题描述】:
我在 PHP 中有一个多维数组
$somearray = array(
'item1' => array(
'subitem1' => 'Some value',
'subitem2' => 'Some other value',
'subitem3' => array(
'subsubitem' => 'A sub value'
)
),
'item2' => 'a different value'
);
然后我有一个字符串 map 代表我要选择的值:
"item1/subitem3/subsubitem"
如何将数组的字符串 map 转换为:
$wanted_value = $somearray['item1']['subitem3']['subsubitem'];
但请记住,数组可以是任意数量的深度。
【问题讨论】:
-
explode你的路径,然后用递归函数遍历数组。 -
我认为它不应该是递归的
-
只是为了好玩:
eval('$wanted_value = $somearray["' . str_replace("/",'"]["',$map) . '"];');完成!但说真的,使用@TobSpr 的方法。 =) -
好吧,这至少很有创意:P
标签: php arrays string multidimensional-array explode