【发布时间】:2014-02-28 12:40:32
【问题描述】:
我很难在这里解释我想要什么。所以我将尝试用一些代码来解释它:
// Example 1
$numbers = [1,2,3,4,5,6];
$in_each = 2;
$combinations = superFunction($numbers, $in_each);
// Result
$combinations = [
[
[1,2],
[3,4],
[5,6]
],
[
[1,3],
[2,4],
[5,6]
],
[
[1,4],
[2,3],
[5,6]
]
// and so on
];
// Example 2
$numbers = [1,2,3,4,5,6];
$in_each = 3;
$combinations = superFunction($numbers, $in_each);
// Result
$combinations = [
[
[1,2,3],
[4,5,6]
],
[
[1,2,4],
[3,5,6]
]
// and so on
];
这是我需要帮助创建的superFunction。注意变量 $in_each 是这里的关键。
该功能不需要超级高效,甚至不需要故障安全。我只是需要一些东西让我开始。
我在这里看到了许多不同的“数组组合”脚本,但没有一个可以像这样“分组”选项。
【问题讨论】:
-
为什么不使用现有的组合脚本之一,然后使用array_chunk()遍历生成的数组
-
你想拥有所有可用的组合还是只保留第一个/第二个数字?
-
我无法理解您的组合是如何拆分为数组的。很明显,每个
k都是C(n,k)- 但是它们如何在第一级结果数组中拆分?
标签: php