php多维数组递归


php multidimensional array recursive

我一直在搜索,并努力让它发挥作用,但我的大脑无法处理它。我在这里呼吁,看看是否有人能帮助我使用这个递归函数。

示例阵列:

$array = array(
            array(4),
            array(3,1),
            array(4,2,1)
        );

预期输出数据:

434
432
431
424
422
421

我的开始:

function recursive($array){
    foreach($array as $key => $value){
        if(is_array($value)){
            recursive($value);
        } else{
            echo $value;
        }
    }
}

输出:431421

我不知道如何多次返回所有长度。

希望得到帮助!谢谢

编辑:思维方式

434
 12
  1

这就是它从一开始就得到数字的方式
这意味着:
从顶部看,434是一个组合
第二行是减去上面的数字。所以3-1=2(424)
第三行是第一次相减的结果的相减。就像最后一行是(4-2)-1=1(第一行422。然后是421,还有432和431
预期的输出是数字的所有可能性。

function walkme($array, $c) {
    if (!count($array)) {
            echo "$c'n";
            return;
    }
    $last=array_pop($array);
    foreach ($last as $l) {
            walkme($array, $l.$c);
    }
}
$array = array(
        array(4),
        array(3,2),
        array(4,2,1)
    );
walkme($array, "");

结果:

434
424
432
422
431
421