Middle
Wie funktioniert ein Generator in PHP?
sobes.tech KI
Antwort von AI
Ein Generator ist eine Funktion, die einen Iterator zurückgibt. Er ermöglicht das Durchlaufen eines Datensatzes, ohne das gesamte Array in den Speicher zu laden, unter Verwendung des Schlüsselworts yield. Bei jedem Aufruf von yield wird die Ausführung der Funktion pausiert, ein Wert zurückgegeben und der Zustand der Funktion gespeichert. Beim nächsten Aufruf von next() setzt der Iterator die Ausführung an der letzten Haltestelle fort.
<?php
function numberGenerator($limit) {
for ($i = 1; $i <= $limit; $i++) {
yield $i; // Pausiert die Ausführung und gibt den Wert zurück
}
}
$numbers = numberGenerator(5);
foreach ($numbers as $number) {
echo $number . " "; // Gibt aus: 1 2 3 4 5
}
?>
Vorteile:
- Speichereinsparung: Ermöglicht die Verarbeitung großer Datenmengen, ohne sie vollständig in den Speicher zu laden.
- Faule Ladung: Werte werden bei Bedarf generiert, wenn sie benötigt werden.
- Verbesserte Leistung für bestimmte Aufgaben, wie das Lesen großer Dateien.
Verwendet für die Iteration über große Sammlungen, das zeilenweise Lesen von Dateien, die Implementierung unendlicher Sequenzen.