PHP多数组全排列组合 代码实现
- seanloo
- 2018-10-25
- 教程/笔记
- 4588浏览

项目开发过程中的需求,将几个不同分类下的文章段落拼接成一篇完整的文章,于是研究了一下全排列组合算法
模拟三个数组:
$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)