Middle
Cum funcționează un generator în PHP?
sobes.tech AI
Răspuns de la AI
Un generator este o funcție care returnează un iterator. Permite parcurgerea unui set de date fără a încărca întregul array în memorie, folosind cuvântul cheie yield. La fiecare apelare a yield, execuția funcției se întrerupe, se returnează o valoare și starea funcției este păstrată. La următoarea apelare a next(), execuția iteratorului continuă de unde s-a oprit.
<?php
function numberGenerator($limit) {
for ($i = 1; $i <= $limit; $i++) {
yield $i; // Întrerupe execuția și returnează valoarea
}
}
$numbers = numberGenerator(5);
foreach ($numbers as $number) {
echo $number . " "; // Afișează: 1 2 3 4 5
}
?>
Avantaje:
- Economisire de memorie: Permite procesarea unor volume mari de date fără a le încărca complet în memorie.
- Încărcare leneșă: Valorile sunt generate la cerere, atunci când sunt necesare.
- Îmbunătățirea performanței pentru anumite sarcini, cum ar fi citirea fișierelor mari.
Utilizat pentru iterarea pe colecții mari, citirea fișierelor linie cu linie, implementarea secvențelor infinite.