我正在使用以下代码(https://www.hashbangcode.com/article/getting-all-permutations-array-php)来获取PHP中数组的所有排列:
$list = array();
function recursive_permutations($items,$perms = array( ))
{
static $list;
if (empty($items)) {
$list[] = join(',', $perms);
} else {
for ($i = count($items)-1;$i>=0;--$i) {
$newitems = $items;
$newperms = $perms;
list($foo) = array_splice($newitems, $i, 1);
array_unshift($newperms, $foo);
recursive_permutations($newitems, $newperms);
};
return $list;
};
}
// FIRST RUN
$perms = recursive_permutations(range(1,3));
echo '<pre>' . print_r($perms, true) . '</pre>';
// SECOND RUN
$perms = recursive_permutations(range(4,6));
echo '<pre>' . print_r($perms, true) . '</pre>';
如果我执行一次该函数,它将很好地工作。但是,如果需要为第二个数组重复该过程,则将结果添加到第一个结果中。
如何在第一次运行后清除结果?
答案 0 :(得分:1)
LocalDateRangeFilter.filter