Save memory by switching to generators

PHP-generatorer, introducerade i version 5.5, är en språkfunktion som kan minska minnesanvändningen avsevärt, särskilt vid hantering av stora datamängder. De fungerar genom att returnera en post i taget som en Iterator, istället för att ladda alla poster i en array samtidigt, vilket förhindrar hög minnesförbrukning. Att konvertera en funktion till en generator är enkelt och kräver inga ändringar i befintliga foreach-loopar som konsumerar resultatet. En viktig begränsning är att generatorer returnerar en Iterator, inte en array, vilket innebär att direkt åtkomst till specifika element eller användning av array-funktioner som array_filter inte är möjligt utan att först konvertera till en array, vilket motverkar minnesfördelen. Artikeln kritiserar PHP för denna bristande integration, trots att generatorer och array-funktioner funnits länge.