具有未知维度的PHP数组中的访问值
考虑具有以下结构的多维数组:具有未知维度的PHP数组中的访问值,php,Php,考虑具有以下结构的多维数组: [a] => Array ( [b] => Array ( [c] => Array ( [value] => 0 [other_value] => 1
[a] => Array
(
[b] => Array
(
[c] => Array
(
[value] => 0
[other_value] => 1
)
)
)
我想访问$array[a][b][c][value]
,但是value
也可以位于$array[a][b][c][d][value]
我不完全清楚如何描述我正在尝试做的事情。我认为另一种解释是:我想访问
$array[a][b][c]
中的每个元素,但也可以访问$array[a][b][c][d]
中的每个元素,就像使用foreach
一样,但嵌套数组的数量未知。该任务看起来像是一棵二叉树。因此,递归是编写代码的最简单方法
$values=array();
function collectValues($array) {
foreach ($array as $key=>$item) {
if ($key=="value")
$values[]=$item;
else if(is_array($item))
collectValues($item));
}
}
在这里可以派上用场
array_walk_recursive($array, function($val, $key) {
if ($key == "value") {
// do something
}
});
类似while(is_array($array[x]))$array=$array[x]$数组[“value”]…我不能完全确定,但这可能会解决您的问题
<?php
function get_next($a)
{
if(!is_array($a))
echo $a;
else
{
foreach($a as $b)
return get_next($b);
}
}
?>
我无法想象你需要这种阵列的情况。如果你能给我们更多关于你的具体案例的信息,会更好。
get_next($your_array);