Недостаточно памяти, пока очень простой цикл, без объекта

У меня есть некоторые проблемы с очень простым циклом, потому что у меня не хватает памяти, и я действительно не знаю, почему.
Надеюсь, кто-нибудь сможет мне помочь.
Вот мой код:

$full_list = array();
$fp = fopen($file_name, 'r');
while (($line = fgetcsv($fp, 0, $delimiter)) !== FALSE)
{
$val = array_slice($line, 0, 1);
$line = NULL;
unset($line);
if (in_array($val, $full_list) === FALSE)
$full_list[] = $val;
$val = NULL;
unset($val);
}
fclose($fp);

Я пробовал $ line = NULL && затем сбросьте его, как вы можете видеть, но даже если это так, он не работает, если файл слишком большой, мне не хватит памяти …
Если честно, я даже не понимаю, почему память даже увеличивается во время цикла ….

-1

Решение

да, вам всегда будет не хватать памяти, потому что переменная $full_list всегда будет расти, пока не выйдет из памяти.

вам нужно делать свои вещи прямо в while цикл.

и вместо этого использовать array_slice($line, 0, 1) просто используйте: $line[0]

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]