首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php多维数组递归

php多维数组递归
EN

Stack Overflow用户
提问于 2015-02-19 21:21:05
回答 1查看 135关注 0票数 0

我一直在寻找,并努力让它工作,但我的大脑无法处理它。我在这里呼喊,看看是否有人能帮助我处理这个递归函数。

示例数组:

代码语言:javascript
复制
$array = array(
            array(4),
            array(3,1),
            array(4,2,1)
        );

预期产出数据:

代码语言:javascript
复制
434
432
431
424
422
421

我的开始:

代码语言:javascript
复制
function recursive($array){
    foreach($array as $key => $value){
        if(is_array($value)){
            recursive($value);
        } else{
            echo $value;
        }
    }
}

输出:431421

我不明白如何多次返回所有长度。

希望能得到帮助!谢谢。

编辑:逻辑?

代码语言:javascript
复制
434
 12
  1

这就是从一开始就得到数字的方法。

这意味着:

从顶部看,434是一个组合。

第二行是减去它上面的数字。SO3-1=2( 424 )

第三行是第一次减法的结果的减法。和最后一行一样,是(4-2)-1 =1(前422 )。然后是421,也是432和431

预期的产出是数字的所有可能性。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-19 21:58:01

代码语言:javascript
复制
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, "");

结果:

代码语言:javascript
复制
434
424
432
422
431
421
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28617140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档