【发布时间】:2016-02-01 17:28:09
【问题描述】:
原来我的数学运算是错误的!阅读PHP array combinations 了解组合示例
我现在在网上搜索了 3 周(包括 SO)我没有找到已经问过或解决过它的人。
我需要一个只有 uniq ordered 值的 PHP 数组排列。
$array = array('Number1', 'Number2', 'Number3', 'Number4', 'Number5', 'Number6');
通常排列会像
.1 Number1, Number2, Number3, ...;
.2 Number1, Number2, Number4, ...;
.3 Number2, Number4, Number1, ...;
但我需要它 ordered 和 uniq。所以第三行将被命令为
.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
到目前为止,我已经解决了。但是我的解决方案就像 stoneage 并且只是对所有新的 array_permutations 和 array_filter 进行排序。这就像 100 年的计算时间导致 6 个数字以所有可能性排列就像 X^10 -.-
请帮帮我。
顺便说一句:这是我在这里的第一篇文章,所以要温柔:D
【问题讨论】:
标签: php arrays permutation uniq