php - 一个无语的问题,求专家指点!!!
迷茫
迷茫 2017-04-10 18:05:41
0
2
349
function strToLeft($num,$arr){ $i = $arr[$num]; unset($arr[$num]); array_push($arr,$i); return $arr; } function combine_increase($arr, $start, $result, $count, $NUM, $arr_len,$newarr=array()) { $i = 0; for ($i = $start; $i < $arr_len + 1 - $count; $i++) { $result[$count - 1] = $i; if ($count - 1 == 0) { $tmp=array(); for ($j = $NUM - 1; $j >= 0; $j--) { array_push($tmp, $arr[$result[$j]]); } array_push($newarr, strToLeft(rand(0,$NUM-1),$tmp)); } else { return combine_increase($arr, $i + 1, $result, $count - 1, $NUM, $arr_len); } } return $newarr; } $arr = array('a1','b2','c3','d4','e5','x1','y1','z1'); $num = 3; $result[$num]=array(); $newarr=array(); echo "('a1','b2','c3','d4','e5','x1','y1','z1')";//,'e5','x1' echo "
"; //combine_increase($arr, 0, $result, $num, $num, count($arr)); echo "
"; var_dump(combine_increase($arr, 0, $result, $num, $num, count($arr))); echo "
"; echo "
";

这是一个把一维数据生成按三个元素不同组合的n个一维数组,正常如果不是返回只是把array_push($newarr, strToLeft(rand(0,$NUM-1),$tmp));句变成

var_dump(strToLeft(rand(0,$NUM-1),$tmp)); echo("
"); 则能列出几十条结果,但通过返回数组就只返回6个,好像是前6个,不知道如何能全部返回取到,求解!!!!
迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

모든 응답 (2)
伊谢尔伦

并没有看懂你的问题,你的combine_increase里都找不到return,何谈return是null。

    迷茫

    问题看懂了 但是代码没看懂 参数又乱又多

    如果只是实现返回不同值的数组 没必要这么麻烦吧

    而且直接输出strToLeft(rand(0,$NUM-1),$tmp)结果也是六个

      최신 다운로드
      더>
      웹 효과
      웹사이트 소스 코드
      웹사이트 자료
      프론트엔드 템플릿
      회사 소개 부인 성명 Sitemap
      PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!