PHP多数组全排列组合 代码实现
- seanloo
- 2018-10-25
- 教程/笔记
- 3731浏览
- 0评论
项目开发过程中的需求,将几个不同分类下的文章段落拼接成一篇完整的文章,于是研究了一下全排列组合算法
模拟三个数组:
$list ['a'] = array (1,2,3); $list ['b'] = array (1,2); $list ['c'] = array (1,2,3,4);
要求组合成这样:111,112,113,114,121,122,123.....
PHP实现代码:
<?php class sufa{ public function main(){ $list ['a'] = array (1,2,3); $list ['b'] = array (1,2); $list ['c'] = array (1,2,3,4); // $list ['f'] = array (1,2,3,4,5); // $list ['d'] = array ("+","-","*","/","%"); foreach($list['a'] as $v){ $this->getsulie($list,$v,1); } } function getsulie($list,$content,$deep){ $i=0; if($deep>count($list)){ return; } foreach($list as $k=>$v){ if($i==$deep){ foreach($list[$k] as $vv){ $vv = $content.$vv; if($deep==count($list)-1){ echo $vv."<br/>"; }else { $this->getsulie($list,$vv,$deep+1); } } break; } $i++; } return; } } $s = new sufa(); $s->main(); ?>
目前可以达到预期效果,不知道有没有更好的写法
php数组排列组合算法
本站文章除注明转载/出处外,均为本站原创或翻译。若要转载请务必注明出处,尊重他人劳动成果共创和谐网络环境。
转载请注明 : 文章转载自 » 心诺设计风尚 » 教程/笔记 » PHP多数组全排列组合 代码实现
上一篇:zblogphp文章别名与id不能共用的解决方法 (2018-10-25)
下一篇:easyui-validatebox多重校验 带参数 (2018-10-29)