【发布时间】:2018-05-16 22:43:38
【问题描述】:
对不起标题,因为它看起来像大多数其他关于组合数组的问题,但我不知道如何写得更具体。
我需要一个 PHP 函数,它将一个数组的条目(从 1 到任意大小的动态大小)组合成每个可能组合的字符串。
这是一个有 4 个条目的示例:
$input = array('e1','e2','e3','e4);
这应该是结果:
$result = array(
0 => 'e1',
1 => 'e1-e2',
2 => 'e1-e2-e3',
3 => 'e1-e2-e3-e4',
4 => 'e1-e2-e4',
5 => 'e1-e3',
6 => 'e1-e3-e4',
7 => 'e1-e4'
8 => 'e2',
9 => 'e2-e3',
10 => 'e2-e3-e4',
11 => 'e2-e4',
12 => 'e3',
13 => 'e3-e4',
14 => 'e4'
);
输入数组的排序是相关的,因为它会影响输出。
如您所见,应该有类似e1-e2 的结果,但没有e2-e1。
看起来真的很复杂,因为输入数组可以有任意数量的条目。 我什至不知道是否有描述这种情况的数学结构或名称。
以前有人做过吗?
【问题讨论】:
-
如何构建数组的逻辑很难理解。
标签: php arrays recursion combiners