この記事では、yield 通信関数のループ内外の紹介 (コード例) を紹介します。一定の参考値があります。困っている友人は参考にしてください。お役に立てれば幸いです。
1. Yield は、関数の内部と外部、およびループの内部と外部の通信に使用されます。関数が大きな配列を返す必要がある場合、ループ中に大きな配列を走査する必要があります。関数を複数回トラバースする必要があります。戻り値、これは便利です
2。すべてを 1 つのループで処理するだけの場合、これは何もありません
<?php $start=memory_get_usage(); function readTxt(){ $handle = fopen("./2018-12-awk-uniq.txt", 'rb'); while (feof($handle)===false) { yield fgets($handle); echo "\n4:***************\n"; } fclose($handle); } foreach (readTxt() as $key => $value) { echo "1:".$value; echo "2:=================\n"; echo "3:".(memory_get_usage()-$start); }
関数内でループするときは、一時停止して外側のループに戻ります。出力の順序に注意してください。
もちろん、データ行を読み取るループ内にいる場合は、すべての作業が完了すると、このyieldは不要になり、引き継ぎ機能として機能します
以上が内部と外部のループ通信機能の導入 (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。