Heim  >  Artikel  >  Backend-Entwicklung  >  Die Rolle von PHP Yield

Die Rolle von PHP Yield

不言
不言Original
2018-04-28 11:31:074669Durchsuche

Dieser Artikel stellt hauptsächlich die Rolle des PHP-Ertrags vor, der einen gewissen Referenzwert hat. Jetzt kann ich ihn mit allen teilen, die ihn brauchen.

function createRange($number){  
  for($i=0;$i<$number;$i++){
        yield time();
    }
}$result = createRange(10); // 这里调用上面我们创建的函数
foreach($result as $value){  
  sleep(1);  
    echo $value.&#39;<br />';
 }

  1. Zuerst Rufen Sie die Funktion createRange auf und übergeben Sie den Parameter 10, aber der Wert for wird einmal ausgeführt und stoppt dann und teilt foreach den Wert mit, der für verwendet werden kann erste Schleife.

  2. foreach beginnt mit der Kopplung $result Schleife, kommen Sie zuerst sleep(1) und beginnen Sie dann mit der Verwendung eines durch for gegebenen Werts, um die Ausgabe auszuführen.

  3. für jede Zubereitung In der zweiten Schleife fordert es vor dem Start der zweiten Schleife erneut die for-Schleife an.

  4. Die for-Schleife führt sie dann erneut aus und teilt den generierten Zeitstempel mit foreach .

  5. foreach ruft den zweiten Wert ab und gibt ihn aus. Da sich sleep(1) in foreach befindet, wird die for-Schleife um 1 Sekunde verzögert, um die aktuelle Zeit

Während der gesamten Codeausführung ist also immer nur ein Datensatzwert an der Schleife beteiligt, und Es gibt nur eine Information im Gedächtnis.

Egal wie groß die

$-Zahl anfänglich übergeben wird, da nicht alle Ergebnismengen sofort generiert werden, ist der Speicher immer eine Schleife von Werten.

Verwandte Empfehlungen:

Detailliertes Verständnis von statischen und Ertragsschlüsselwörtern in PHP

Ausführliche Einführung zum Thema Ertrag

Das obige ist der detaillierte Inhalt vonDie Rolle von PHP Yield. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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