我已经在网上搜索了3个星期(包括SO),没有找到已经解决或提出这个问题的人。
我需要一个PHP数组的排列,只包含唯一的有序值。
$array = array('Number1', 'Number2', 'Number3', 'Number4', 'Number5', 'Number6');
通常的排列方式如下:
.1 Number1, Number2, Number3, ...;
.2 Number1, Number2, Number4, ...;
.3 Number2, Number4, Number1, ...;
但我需要它有序和唯一。因此第三行将被排序为
.1 Number1, Number2, Number3, ...;
.2 Number1, Number2, Number4, ...;
.3 Number1, Number2, Number4, ...;
这意味着第3行不是唯一的,不会保存在新数组中。
第二个例子
对我来说是错误的array('A','B','C')
A
AB
AC
ABC
ACB
B
BC
BA
BCA
BAC
C
CA
CB
CAB
CBA
我需要输出如下
A
B
C
AB
BC
AC
ABC
我已经解决了这个问题。但我的解决方案就像石器时代一样,只是对所有新数组排列进行排序并过滤它们。因为6个数字与所有可能性的排列就像X^10一样,需要100年的计算时间-.-
请帮助我。
顺便说一句:这是我在这里的第一篇文章,请温柔点:D