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
我不明白如何多次 return 所有长度。
希望得到帮助!谢谢。
编辑:
逻辑?
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
我一直在寻找并努力让它工作,但我的大脑无法处理它。我在这里打电话,看看是否有人可以帮助我使用这个递归函数。
示例数组:
$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
我不明白如何多次 return 所有长度。
希望得到帮助!谢谢。
编辑: 逻辑?
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