Heim > Backend-Entwicklung > PHP-Tutorial > Erweiterte Funktionen von PHP 7: So implementieren Sie Generatorfunktionen mithilfe des Schlüsselworts yield

Erweiterte Funktionen von PHP 7: So implementieren Sie Generatorfunktionen mithilfe des Schlüsselworts yield

WBOY
Freigeben: 2023-07-29 22:42:02
Original
1198 Leute haben es durchsucht

Erweiterte Funktionen von PHP 7: So implementieren Sie Generatorfunktionen mithilfe des Schlüsselworts yield.

Einführung:
PHP 7 führt einige neue erweiterte Funktionen ein. Eine der auffälligsten Funktionen ist das Schlüsselwort yield. Mit dem Schlüsselwort yield können Generatorfunktionen erstellt werden, die es uns erleichtern, große Datenmengen zu generieren, ohne sie alle auf einmal im Speicher zu speichern. In diesem Artikel wird die Verwendung des Schlüsselworts yield vorgestellt und den Lesern anhand von Codebeispielen geholfen, sein Funktionsprinzip besser zu verstehen.

  1. Generatorfunktion
    Eine Generatorfunktion ist eine Funktion, die mit dem Schlüsselwort yield definiert wird und eine durchlaufbare Datensequenz generieren kann. Im Gegensatz zu gewöhnlichen Funktionen beginnen Generatorfunktionen die Ausführung nicht bei jedem Aufruf von vorne, sondern setzen die Ausführung ab der Position der letzten yield-Anweisung fort. Mit dieser Funktion können Generatorfunktionen große Datenmengen effizient generieren.

Das Folgende ist ein Beispiel für eine einfache Generatorfunktion:

function myGenerator() {
    yield 1;
    yield 2;
    yield 3;
}

$generator = myGenerator();

foreach ($generator as $value) {
    echo $value . " ";
}

// 输出:1 2 3
Nach dem Login kopieren

Im obigen Beispiel ist die Funktion myGenerator() eine Generatorfunktion, die das Schlüsselwort yield verwendet, um die Zahlen 1, 2 bzw. 3 zu generieren. Durch Durchlaufen des von der Generatorfunktion zurückgegebenen Generatorobjekts können wir der Reihe nach die von der Generatorfunktion generierten Werte erhalten.

  1. Parameter von Generatorfunktionen
    Generatorfunktionen können wie gewöhnliche Funktionen auch Parameter akzeptieren. Definieren Sie einfach die Parameter in der Generatorfunktion auf normale Weise und übergeben Sie sie beim Aufruf an die Generatorfunktion.
function rangeGenerator($start, $end) {
    for ($i = $start; $i <= $end; $i++) {
        yield $i;
    }
}

$generator = rangeGenerator(1, 5);

foreach ($generator as $value) {
    echo $value . " ";
}

// 输出:1 2 3 4 5
Nach dem Login kopieren

Im obigen Beispiel ist die Funktion rangeGenerator() eine Generatorfunktion und akzeptiert zwei Parameter $start und $end. Innerhalb der Funktion generieren wir alle Ganzzahlen von $start bis $end mithilfe einer Schleife und dem Schlüsselwort yield.

  1. Schlüssel-Wert-Paare von Generatorfunktionen
    In der Generatorfunktion kann das Schlüsselwort yield neben Werten auch Schlüssel-Wert-Paare generieren. Mit dem Pfeil (=>) nach dem Schlüsselwort yield können wir den Schlüssel und den Wert eines Schlüssel-Wert-Paares angeben.
function keyValueGenerator() {
    yield 'name' => 'John';
    yield 'age' => 25;
    yield 'country' => 'USA';
}

$generator = keyValueGenerator();

foreach ($generator as $key => $value) {
    echo "$key: $value" . " ";
}

// 输出:name: John age: 25 country: USA
Nach dem Login kopieren

Im obigen Beispiel ist die Funktion keyValueGenerator() eine Generatorfunktion. Mithilfe des Schlüsselworts yield und der Pfeile generieren wir eine Folge von Schlüssel-Wert-Paaren mit Name, Alter und Land. Beim Durchlaufen des Generatorobjekts können wir die Schlüssel und die entsprechenden Werte separat abrufen.

Zusammenfassung:
Generatorfunktionen sind eine sehr nützliche erweiterte Funktion, die in PHP 7 eingeführt wurde. Durch die Verwendung des Schlüsselworts yield können wir große Datenmengen effizient generieren, ohne sie alle auf einmal im Speicher speichern zu müssen. Die Parameter der Generatorfunktion und die generierten Schlüssel-Wert-Paare machen die Generatorfunktion flexibler und leistungsfähiger. Ich hoffe, dass die Einführung und die Beispiele in diesem Artikel den Lesern helfen können, das Schlüsselwort „Yield“ besser zu verstehen und anzuwenden.

Das obige ist der detaillierte Inhalt vonErweiterte Funktionen von PHP 7: So implementieren Sie Generatorfunktionen mithilfe des Schlüsselworts yield. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage