この記事では主にPHPジェネレーターの簡単な例を紹介します。この記事ではrange関数とxrange関数の基本的な使用例を説明します。必要な方は参考にしてください。
通常、一連のデータを反復する場合、配列が大きい場合はデータを作成する必要があり、パフォーマンスが大幅に消費され、メモリ不足が発生することもあります。コードは以下の通りです:
//致命的エラー: E:phptestindex.php の 5 行目で、許容メモリ サイズ 134217728 バイトが使い果たされました (32 バイトを割り当てようとしました)
範囲(1, 100000000);
PHP5.5はジェネレータを実装しており、配列要素が生成されるたびにyieldキーワードで返され、関数nextメソッドが実行されると実行は最後にyieldされた位置から継続されます。次の例では、中間変数 $i
のみが生成されます
コードは以下の通りです:関数 xrange($start, $limit, $step = 1) {
for ($i = $start; $i $i を収得;
}
}
foreach (xrange(1, 9, 1) as $number) {
エコー "$number ";
}