Um große Datenmengen mit PHP zu verarbeiten benötigt man viel Memory Speicher, weil große Mengen Daten geladen und dann verarbeitet werden. Eine speichersparende Alternative bieten Generatoren ab PHP 5.5., die mit dem yield Befehl durch große Datenmengen iterieren können und nur Speicherplatz für einen Datensatz belegen.
Beispiel: Verarbeiten einer großen CSV Datei mittels Generators:
<?php class CsvFile { protected $file; public function __construct($file) { $this->file = fopen($file, 'r'); } public function parse() { while (!feof($this->file)) { yield fgetcsv($this->file); } return; } } $csv = new CsvFile('/pathTo/file.csv'); foreach ($csv->parse() as $row) { echo $row; }