php – 如何使用数组项找到所有可能的顺序

这是一个数组.

$item = array('A', 'B', 'C', 'D');

我想在这个数组中列出所有可能的订单,如:

一个
A,B
A,B,C
A B C D
A,C
A,C,d
A,C,B

B,A
B,A,C
….

我怎样才能做到这一点?

最佳答案 您想知道的
permutations可以通过
this algorithm完成并在子循环中应用.

Initialize the first permutation with <1 <2 …

while there exists a mobile integer

find the largest mobile integer k

swap k and the adjacent integer it is looking at

reverse the direction of all integers larger than k

有关详细信息,请参阅this question

点赞