Heim > Artikel > Backend-Entwicklung > Was ist die Verwendung von yield in PHP?
Dieser Artikel stellt Ihnen die Verwendung von Yield in PHP vor. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird für alle hilfreich sein.
Ich habe schon einmal gehört, dass PHP selbst Coroutinen hat, also habe ich nachgeschlagen und davon erfahren.
Demo wurde in meine Github-Notizen hochgeladen
Beheben Sie den Engpass beim Ausführen von Speicher. Beim Lesen von Excel-Dateien ist nicht genügend Speicher vorhanden
Also legen wir die maximale Laufspeichereinstellung von PHP fest: ini_set('memory_limit', '200M')Aber wenn wir eine Datei mit einer Größe von bis zu 5 g lesen, ist unser Laufspeicher möglicherweise zu groß, also wählen wir yieldErste Bekanntschaft mit YieldLauf:
Fatal Error: Allowed memory size of xxxxxx bytesDie Zeit ist die gleiche. Wenn yield verwendet wird:
<?php function createRange($number){ $data = []; for($i=0;$i<$number;$i++){ $data[] = time(); } return $data; } $data =createRange(10); foreach($data as $value){ sleep(1);//这里停顿1秒,我们后续有用 echo $value.PHP_EOL; }Das Zeitintervall beträgt eine Sekunde. Am Beispiel von yield wissen wir also, dass der Inhalt der for-Schleife nicht wie im ersten Beispiel im Speicher gespeichert, sondern einzeln verbraucht wird eins. Beispiel für das Lesen einer DateiErstellen Sie eine TXT-Datei und schreiben Sie:
<?php function createRange($number){ for($i=0;$i<$number;$i++){ yield time(); } } $data =createRange(10); foreach($data as $value){ sleep(1);//这里停顿1秒,我们后续有用 echo $value.PHP_EOL; }
第1行 第2行 第3行 第4行 第5行 第6行 第7行 第8行Verwenden Sie PHP, um die Datei zu lesen, d. Und dann gehen wir tiefer Empfohlenes Lernen:
php-Video-Tutorial
Das obige ist der detaillierte Inhalt vonWas ist die Verwendung von yield in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!