我有一个脚本,它列出了数组中所有可能的排列,诚然,它可以用来代替单词表。如果我让这个工作,除非有尝试限制,否则最终不可能不成功。
无论如何,该脚本显然占用了大量内存,这会使任何服务器着火。我需要帮助的是找到一种分散内存使用的方法,例如以某种方式重置脚本并通过转到另一个文件或其他东西(可能通过使用 Sessions)继续它离开的地方。我没有任何线索。
这是我到目前为止所得到的:
<?php
ini_set('memory_limit', '-1');
ini_set('max_execution_time', '0');
$possible = "abcdefghi";
$input = "$possible";
function string_getpermutations($prefix, $characters, &$permutations)
{
if (count($characters) == 1)
$permutations[] = $prefix . array_pop($characters);
else
{
for ($i = 0; $i < count($characters); $i++)
{
$tmp = $characters;
unset($tmp[$i]);
string_getpermutations($prefix . $characters[$i], array_values($tmp), $permutations);
}
}
}
$characters = array();
for ($i = 0; $i < strlen($input); $i++)
$characters[] = $input[$i];
$permutations = array();
print_r($characters);
string_getpermutations("", $characters, $permutations);
print_r($permutations);
?>
有任何想法吗?:3