배열에 가능한 모든 순열을 나열하는 스크립트가 있습니다.이 스크립트는 단어 목록 대신 사용할 수 있습니다. 이것이 작동하게되면, 시도에 한계가 있지 않으면 결국 히트를 얻지 못할 것입니다.내 스크립트가 너무 많은 메모리를 사용하지 않도록 하시겠습니까?
어쨌든, 스크립트는 분명히 메모리의 거대한 양, 불에 모든 서버를 설정합니다 뭔가를합니다. 내가 도움이 필요한 것은 메모리 사용을 퍼뜨리는 방법을 찾는 것입니다. 어떻게 든 스크립트를 재설정하고 세션을 사용하여 다른 파일이나 다른 것으로 이동하여 중단 한 부분에서 계속할 수 있습니다. 나는 단서가 없다. 여기
는 내가 지금까지있어 무엇 :
<?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
나는 그렇게 할 수밖에 없을 것이라고 생각합니다. 변수를 설정 해제하는 방법은 무엇입니까? –
그렇게하기 전에 PhP'memory_get_usage' 함수를 사용하여 메모리가 어떻게 움직이는 지, 언제 커지기 시작하는지 등을 확인한 다음 파일의 순열을 분할하고 메모리 사용이 어떻게 변경되었는지 확인하십시오. 개선 사항을 발견했다면 사용하지 않을 때 (또는 적어도 배열 또는 배열의 일부로 대부분의 메모리를 차지하므로) 모든 변수의 설정을 해제하고 수행 할 수 없을 때까지 메모리 등을 다시 검사하십시오 더. – Sugar