mam funkcje ktora przeszukuje plik i wyswietla na ekran
posortowane liczby z tego pliku.
Funkcja wyglada tak:
<?php function f($min, $max) { if ($xx >= $min && $xx <= $max) $tab[] = $xx; } } ?>
a wywołanie jej tak:
<?php for ($i=0; $i < 10000000; $i += 250000) f($i, $i + 250000 - 1); ?>
Plik moze mieć 9999999 pozycji (wierszy) wiersz nie bedzie wiekrzy niż 7 cyfrowa liczba.
Moj problem, polega na tym ze jesli plik jest maly to sortowanie sie udaje, wszystko dziala ladnie,
ale jak plik jest duzy np 1000950 wierszy cyfr 7 cyfrowych to wyswietla mi taki komunikat:
<?php Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 9 bytes) in index.php on line '$xx = fgets ($plik);'. ?>
Dlaczego cos takiego wyswietla, zakladajac ze 7 cyfrowa liczba (jeden wiersz) miesci sie na 4B (bajtach),
przy jednym wywolaniu petli jest 250000 cyfr co daje okolo 0,5 MB zuzycia pamieci.
Czy ktos moze wyjasniec mi ta sytuacje?
Dzieki,
Pozdrawiam...