Ik ben bezig met array manipulatie maar ben niet zo goed in het efficient verwerken ervan.
Ik heb "space seperated file" waarvan de eerste regel de header is van een table
en de overige regels zijn de data.
Nu doe ik het volgende:
$lines = file($this->resfile);
$counter = 0;
foreach($lines as $linenum => $line) {
if($counter == 0) {
$this->header_array = explode(' ',rtrim($line));
}
else {
$tmp = explode(' ',rtrim($line)); // haal rechter \n eraf
if($this->format != '') { // soms willen we formatten...
foreach($tmp as $key => $val) {
$tmp[$key] = sprintf($this->format,$val);
}
}
$this->data_array[] = $tmp;
unset($tmp);
}
$counter++;
}
de data_array die deze functie uitspuugt bevat dus in het geval van de file die ik heb 4000 arrays die elk weer 202 lang zijn...
Van mijn testserver heb ik de memory limit van 128 -> 256 -> 512 moeten opschroeven om de pagina goed te krijgen...
De machine waar dit straks op gaat draaien heeft maar 256 mb ram...
Het moet efficienter kunnen.