在PHP中没有重复的排列

时间:2017-08-09 09:58:15

标签: php algorithm combinations permutation

我试图输出数组中3个元素的所有可能组合,输出应该一次回显3个元素。我知道知道可能性数量的公式(n!/(n-k)!)

目前,这会产生我想要的大小为3的数组的输出

php代码

$items = array("A","B","C");

for ($i=0;$i<count($items);$i++) {
    $pos = $items[$i];
    $rest = $items;
    unset($rest[$i]);
    $rest = array_values($rest);
    echo $pos.$rest[0].$rest[1]."<br/>";
    echo $pos.$rest[1].$rest[0]."<br/>";
}

输出:

ABC ACB BAC BCA 出租车 CBA

我希望我的功能具有动态性和可扩展性,可以接收2个或更多元素,并且能够在不重复的情况下对它们进行置换,一直在试图解决这个问题。

0 个答案:

没有答案