【发布时间】:2011-10-27 04:00:39
【问题描述】:
我正在做一个个人项目,我一直在寻找所有数组元素的组合,如下所示。当我有定义数量的数组时,我能够找出所有组合,但不幸的是我没有。
这是记录在案的代码:
$C = array(
"I" => array(
0 => array("I_1_1"),
1 => array("I_1_2")
),
"L" => array(
0 => array("L_1_1"),
1 => array("L_2_1"),
),
"K" => array(
0 => array("K_1_1"),
1 => array("K_1_2"),
2 => array("K_2_1"),
3 => array("K_2_2"),
),
);
目前 $C 有 3 个元素,但这是非常可变的,因为你可以有 2+ 此外,$C 中的每个数组也是可变长度的,最大长度可以达到 144,但这非常罕见..
无论如何,我的目标是让 php 脚本输出这个:
I_1_1 L_1_1 K_1_1
K_1_2
K_2_1
K_2_2
L_2_1 K_1_1
K_1_2
K_2_1
K_2_2
I_1_2 L_1_1 K_1_1
K_1_2
K_2_1
K_2_2
L_2_1 K_1_1
K_1_2
K_2_1
K_2_2
我故意不重复输出中的前 2 列,以便您可以看到组合的“方向”,但最终输出将是一个包含所有可能组合的数组:
$result = array(array("I_1_1","L_1_1","K_1_1"),array("I_1_1","L_1_1","K_1_2")....
等等..
我不知道是我说清楚了还是让您更加困惑,但如果需要更多详细信息,请告诉我。
提前感谢所有帮助我的人,我非常感谢你们为帮助像我这样的人付出的所有努力。
*编辑:* 更改数组结构比使用这个更容易生成排列对我来说会更好吗?
【问题讨论】:
-
我想看看这是否可以用 n 个维度来完成
标签: php multidimensional-array permutation combinations