我有这个PHP代码来生成给定数组的所有组合
<?php
function pc_array_power_set($array) {
#http://docstore.mik.ua/orelly/webprog/pcook/ch04_25.htm
// initialize by adding the empty set
$results = array(array( ));
foreach ($array as $element)
foreach ($results as $combination)
array_push($results, array_merge(array($element), $combination));
return $results;
}
$set = array('A', 'B', 'C');
$power_set = pc_array_power_set($set);
?>
<pre>
<?php
print_r($power_set);
?>
</pre>
它运行正常,但是如果我想为88个元素生成组合,在进程中它会在内部创建数组,这会变得越来越大,超出内存限制......有什么办法可以避免这种情况吗?例如,当生成新组合时,执行一些操作,然后继续操作而不将此值保存在数组中。