具有未知维度的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);