Das PHP-Schlüsselwort yield wird zum Erstellen einer Generatorfunktion verwendet. Es ist ein integriertes Schlüsselwort in PHP. Eine Generatorfunktion ist mit der normalen Funktion identisch, außer dass sie einen einzelnen Wert zurückgibt. Das Schlüsselwort „generator yield“ gibt viele Werte zurück, die für die Rückgabe von der Generatorfunktion erforderlich sind. Jede Funktion, die yield enthält, ist eine Generatorfunktion. Der Generator funktioniert genauso wie der Iterator, der mit einer foreach-Schleife durchläuft, und jedes Mal, wenn er einen Wert benötigt, liefert der Generator einen Wert; Das Schlüsselwort yield ist dasselbe wie das Schlüsselwort return, außer dass die Ausführung nicht gestoppt wird.
WERBUNG Beliebter Kurs in dieser Kategorie PHP-ENTWICKLER - Spezialisierung | 8-Kurs-Reihe | 3 ProbetestsStarten Sie Ihren kostenlosen Softwareentwicklungskurs
Webentwicklung, Programmiersprachen, Softwaretests und andere
Syntax
yield $value;
Parameter –
Wert– Dies ist nicht optional, sondern gibt den Wert an, der zurückgegeben werden soll.
Rückgabewert– Der Rückgabewert dieser Methode sind die Werte, die in der Generierungsfunktion zurückgegeben werden müssen.
Das PHP-Schlüsselwort yield wird in der Generatorfunktion verwendet, um mehrere Werte zurückzugeben oder zu liefern. Wenn die Generatorfunktion aufgerufen wird, gibt sie ein Iteratorobjekt zurück, das iteriert werden kann. Wenn wir dieses Objekt durch eine foreach-Schleife iterieren, die die Iterationsmethoden des Objekts jedes Mal von PHP aufruft, wenn es einen Wert benötigt, wird der Status der Generatorfunktion gespeichert, wenn die Generatorfunktion einen Wert liefert, der fortgesetzt wird, um den nächsten Wert zu erhalten. Wenn keine Werte mehr vorhanden sind, wird der Generator einfach beendet und der aufrufende Code kann fortfahren, sobald dem Array die Werte ausgehen.
Verschiedene Beispiele sind unten aufgeführt:
Als nächstes schreiben wir den PHP-Code, um das PHP-Schlüsselwort yield anhand des folgenden Beispiels besser zu verstehen, in dem das Schlüsselwort yield zum Ermitteln mehrerer Werte aus der Generatorfunktion verwendet wird, wie unten dargestellt –
Code:
Ausgabe:
Wie im obigen Programm wird die Funktion gen_even_numbers() erstellt, um die geraden Zahlen zwischen 2 und 10 zu finden und bei iterativem Aufruf eine Ausbeute oder Rückgabe zu liefern. In jeder Iteration werden die Werte einzeln zurückgegeben und auch angezeigt, wie wir in der Ausgabe sehen können.
Als nächstes schreiben wir den PHP-Code, um das PHP-Schlüsselwort yield zu verstehen, wobei das Schlüsselwort yield zum Ermitteln mehrerer Werte aus der Generatorfunktion verwendet wird und diese Generatorfunktion eine andere Generatorfunktion aufruft, wie unten –
Code:
"); print( "The yeilded values of the generator function by iterator_to_array are : \n "); var_dump(iterator_to_array(call_gen())); ?>
Ausgabe:
Wie im obigen Programm wird die Funktion gen_even_numbers() erstellt, um die geraden Zahlen zwischen 2 und 10 zu finden und zurückzugeben, und dann wird eine weitere Funktion call_gen() verwendet, um die Funktion gen_even_numbers() unter Verwendung von yield from aufzurufen setzt die Schlüssel nicht zurück. Später im Code führt die Iteration zwei Möglichkeiten aus. Die erste Möglichkeit ist die Verwendung der foreach-Schleife, die die Werte der Reihe nach durchläuft, während sie in der Funktion call_gen() ausgegeben werden, sodass Schlüssel nicht zurückgesetzt werden und als 2 2 4 6 8 10 10 ausgegeben werden. Wohingegen die zweite Möglichkeit verwendet die Methode iterator_to_array(), die standardmäßig ein verschlüsseltes Array zurückgibt und möglicherweise zu unerwarteten Ergebnissen führen kann, die wir in der Ausgabe sehen können.
Als nächstes schreiben wir den PHP-Code, um das PHP-Schlüsselwort yield zu verstehen, wobei das Schlüsselwort yield innerhalb der Referenzgeneratorfunktion verwendet wird, wie unten –
Code:
Ausgabe:
Im obigen Programm ist die Funktion gen_even_numbers() eine Referenzfunktion, da ihr das „&“ vorangestellt ist; Es wird verwendet, um die geraden Zahlen zwischen 2 und 10 zu finden und zurückzugeben. Weiter wird über das Rückgabeobjekt dieser Funktion iteriert und jedes Mal wird der iterierte Wert in einer Variablen gespeichert, der wiederum das Präfix „&“ vorangestellt wird.
Das PHP-Schlüsselwort yield ist ein integriertes Schlüsselwort, das zum Erstellen einer Generatorfunktion oder zum Zurückgeben einer Funktion verwendet wird.
Das obige ist der detaillierte Inhalt vonPHP-Ertrag. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!