$arr = [1, 2, 3, 4, 5, 6];
$finalRes = [];
vs($arr, 0, [], $finalRes, 4);
foreach($finalRes as $v){
echo implode("", $v)."\r\n";
}
function vs($arr, $i, $res = [], &$finalRes = [], $num)
{
if (count($res) == $num) {
$finalRes[] = $res;
return;
}
if ($i == count($arr)) {
return;
}
$res_ = $res;
$res[] = $arr[$i];
vs($arr, $i + 1, $res, $finalRes, $num);
vs($arr, $i + 1, $res_, $finalRes, $num);
}
从一个数组中取任意几位排列组合
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- http://itfish.net/article/50576.html计算出来双色球33选6个红球排列组合所有的...
- 彩票七星彩的选码规则,5个数字至少选2个,列出所有数字组合方法,未选择数字的列用“*”表示。例子为:5*10表格,...