【发布时间】:2014-12-18 12:40:17
【问题描述】:
我必须用其他数组值创建一个复杂的数组。
原来的数组是:
Array (
[0] => Array (
[0] => A
[1] => B
[2] => C
)
[1] => Array (
[0] => D
[1] => E
[2] => F
)
)
我正在寻找一个函数,它可以为我提供所有可能的组合值,如下所示:
Array (
[0] => Array (A, D),
[1] => Array (A, E),
[2] => Array (A, F),
[3] => Array (B, D),
[4] => Array (B, E),
[5] => Array (B, F),
[6] => Array (C, D),
[7] => Array (C, E),
[8] => Array (C, F)
)
当然,即使原始数组中的值数量不同,此算法也必须有效。
我正在 PHP 文档中寻找一个用于执行此操作的简单函数,但没有找到。
我用“multiplex”或“combine”之类的关键字搜索了它,但没有运气。我认为最好的方法是做一个递归函数,但我找不到正确的算法。
【问题讨论】:
-
基本上你想要一个笛卡尔结果。这是一个类似示例的链接stackoverflow.com/questions/6311779/…
-
子数组中会不断有 3 个值吗??
-
嗨,谢谢你的回答。不,我的原始数组可能有 X 个数组条目
-
您可以从子数组中获取所有元素并创建一个包含所有元素的临时数组,然后使用我在stackoverflow.com/a/27177761/3186769 的答案来查找所有 2 元素组合。这有帮助吗?
标签: php arrays function combiners