我正在尝试找到一种获得价值的方法" title"来自嵌套在其他数组中任何无限深度的数组。
我意识到这需要一个单独的功能,但是现在我无法找到如何在链中显示值,以便我可以将其表示为另一个函数。
该功能将被告知要下降多少级别,总是查看"孩子"下一个数组的元素。
$new_map=array();
$new_map[0]["title"]="Level zero";
$new_map[0]["child"]="";
$new_map1=array();
$new_map1[0]["title"]="Level one";
$new_map1[0]["child"]="empty1";
$new_map2=array();
$new_map2[0]["title"]="Level two";
$new_map2[0]["child"]="empty2";
$new_map3=array();
$new_map3[0]["title"]="Level three";
$new_map3[0]["child"]="empty3";
$new_map[0]["child"]=$new_map1;
$new_map1[0]["child"]=$new_map2;
$new_map2[0]["child"]=$new_map3;
foreach($new_map as $key => $val){
foreach($new_map[$key]["child"] as $key2 => $val2){
foreach($new_map[$key]["child"][$key2]["child"] as $key3 => $val3){
echo $new_map[$key]["child"][$key2]["child"][$key3]["title"]."<br/>";
}
}
}
答案 0 :(得分:0)
您应该使用深度优先搜索来获取值&#34;标题&#34;来自嵌套在其他数组中任何无限深度的数组。不是每次都采用新阵列,而是采用3D阵列
$ new_map [i] [0] [&#34; child&#34;]其中i表示第i个数组。
然后使用dfs for $ new_map [i] [0] [&#34; child&#34;],检查子数组$ new_map [i + 1] [0] [&#34; child&#34;如果它包含您查询的值标题。