【发布时间】:2015-03-18 11:44:34
【问题描述】:
我正在尝试 2 天来创建一个函数来获取所有可能的数组组合(没有顺序重复):
public function power_set($array) {
// initialize by adding the empty set
$results = array(array( ));
foreach ($array as $element)
foreach ($results as $combination)
array_push($results, array_merge($combination,array($element)));
return $results;
}
$keys = array(0=>1,1=>2,3=>3,21=>4,4=>5,5=>6,6=>7,7=>8,9=>10,10=>23,11=>34234,12=>34234,13=>34234,14=>45435,15=>32343,16=>35324,17=>4535345,18=>5645645,19=>234,20=>23324);
echo '<pre>'.print_r(power_set($keys),true).'</pre>';
它适用于 7 元素数组,但不止于此。我该如何解决?
【问题讨论】:
-
你想要什么输出?
-
您要删除重复项吗?
-
我想要所有可能的数组值组合
-
@DanyalSandeelo BTW:如果您发布答案,OP 会收到通知,因此不需要此评论 ^。为了您的信息和未来:meta.stackoverflow.com/a/253835/3933332
-
@JohnMark 您能否添加您当前的输出和预期的输出。 (也许有一个更小的数组:D)
标签: php arrays combinations