有没有办法如何索引具有可变深度的数组?
e.g。
我有一个保存的地方:
$path_string="Shop,Items,Item";
我将它转换为数组:
$path = explode (",", $path_string);
数组中的项目数会影响数组维度。那么,我想像这样索引我的多维数组:
$value = $array[$path[0]][$path[1]][$path[2]][$id][$tag];
我真的无法理解。谢谢你的帮助!
答案 0 :(得分:1)
你可以写一个递归函数来做到这一点:
function my_array_conversion($array) {
$ret = array();
var_dump($array);
if(count($array) > 1) {
$c = $array[0];
array_splice($array, 0, 1);
$ret[$c] = my_array_conversion($array);
}
else
$ret[$array[0]] = array();
return $ret;
}
用$ array = array($ path [0],$ path [1],$ path [2],$ id,$ tag)调用它;
答案 1 :(得分:1)
$cursor = $array;
foreach (explode(",", $path_string) as $key) {
$cursor = $cursor[$key];
}
var_dump($cursor);