码迷,mamicode.com
首页 > Web开发 > 详细

php 全排列

时间:2018-10-22 14:50:04      阅读:306      评论:0      收藏:0      [点我收藏+]

标签:++   slice   hit   tmp   array   ati   result   nbsp   this   

class a
{
public $fullPermutationArr = array();
public function fullPermutation($arr, $str = ‘‘)
{
    $cnt = count($arr);
    if ($cnt == 1) {
        array_push($this->fullPermutationArr, $str ? $str . ‘,‘ . $arr[0] : $arr[0]);
    } else {
        for ($i = 0; $i < $cnt; $i++) {
            $tmp = $arr[0];
            $arr[0] = $arr[$i];
            $arr[$i] = $tmp;
            $this->fullPermutation(array_slice($arr, 1), $str ? $str . ‘,‘ . $arr[0] : $arr[0]);
        }
    }
}
public function unique($result)
{
return array_merge(array_unique($result));
}
}
// 调用
$a = new a;
$a->fullPermutation([1, 2,2]);
$result = $a->fullPermutationArr;
var_dump($a->unique($result));

php 全排列

标签:++   slice   hit   tmp   array   ati   result   nbsp   this   

原文地址:https://www.cnblogs.com/zhangxuedonga/p/9829550.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!