PHPジェネレータークラス
はじめに
ループ構造 (foreach など) を使用して大量のデータを反復処理するには、大量のメモリが必要になります。そしてかなりの処理時間。 Generators を使用すると、このオーバーヘッドを発生させずに一連のデータを反復処理できます。ジェネレーター関数は通常の関数と似ています。ただし、関数内の return ステートメントの代わりに、yield キーワードを使用してジェネレーターが繰り返し実行され、反復される値が提供されます。
yield キーワードは、ジェネレーター メカニズムの中核です。使い方は return と似ていますが、関数の実行は停止しません。反復の次の値を提供し、関数の実行を一時停止します。
構文
Generator implements Iterator { /* Methods */ public current ( void ) : mixed public getReturn ( void ) : mixed public key ( void ) : mixed public next ( void ) : void public rewind ( void ) : void public send ( mixed $value ) : mixed public throw ( Throwable $exception ) : mixed public valid ( void ) : bool public __wakeup ( void ) : void }
メソッド
public Generator::current (void) − mix — 生成された値を取得します
public Generator::getReturn ( void ) : mix — ジェネレーターの戻り値を取得します
public Generator::key ( void ) − mix — ジェネレーターのキーを取得します生成された価値。
p>public Generator::next ( void ) − void — ジェネレーターの実行を再開します。その効果は、引数として NULL を指定して Generator::send() を呼び出した場合と同じです。
public Generator::rewind ( void ) − void — イテレータを巻き戻します。反復がすでに開始されている場合、例外がスローされます。
public Generator::send (mixed $value) : mix - 現在の yield 式の結果として指定された値をジェネレーターに送信し、ジェネレーターを復元します。
public Generator::throw ( Throwable $Exception ) − mix — ジェネレーターに例外をスローし、ジェネレーターの実行を再開します。
public Generator::valid ( void ) − bool — イテレータが閉じられているかどうかを確認します
public Generator::__wakeup ( void ) − void — ジェネレーターをシリアル化できないため、例外がスローされます。
Generator クラスは Iterator インターフェイスを実装します。ジェネレーター オブジェクトは、new を介してインスタンス化できません。 yield キーワードを含むユーザー定義関数は、ジェネレーター クラスのオブジェクトを作成します。
ジェネレーターの例
ジェネレーターは Iterator インターフェイスを実装しているため、各ループを使用して生成された値を反復処理できます。
ライブ デモンストレーション
<?php function squaregenerator(){ for ($i=1; $i<=5; $i++){ yield $i*$i; } } $gen=squaregenerator(); foreach ($gen as $val){ echo $val . " "; } ?>
出力
上記のプログラムは次の出力を表示します
1 4 9 16 25
次の例では、次の current() メソッドと next() メソッドを使用します。生成された値をトラバースするジェネレーター クラス。ループ条件を確認するには、 valid() メソッドを使用します。
例
リアルタイム デモンストレーション
<?php function squaregenerator(){ for ($i=1; $i<=5; $i++){ yield $i*$i; } } $gen=squaregenerator(); while ( $gen->valid() ){ echo "key: " . $gen->key(). " value: ". $gen->current() . ""; $gen->next(); } ?>
出力
上記のプログラムは次の出力を表示します
key: 0 value: 1 key: 1 value: 4 key: 2 value: 9 key: 3 value: 16 key: 4 value: 25
以上がPHPジェネレータークラスの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









メモ帳を使用する場合、さまざまな処理が必要になるため、メモ帳の拡張子を変更する必要がありますが、拡張子を変更するにはどうすればよいでしょうか?実際には、拡張子を変更するには名前変更機能を使用するだけです。 Win10 メモ帳の拡張子を変更する方法: 1. フォルダー内で、まず上部をクリックして確認します。 2. このようにファイルの拡張子が表示されるので、メモ帳上で右クリックして選択します 3. 選択. 以下のように変更します。 4. .jpeg 形式に変更された場合。次に、プロンプトが表示されるので、それをクリックします。 5. 変更が完了したら、それだけです。

タイトル: 外部プログラムを呼び出す SQL トリガーの具体的なコード例 本文: SQL トリガーを使用する場合、特定の操作を処理するために外部プログラムを呼び出す必要がある場合があります。この記事では、SQL トリガーで外部プログラムを呼び出す方法と具体的なコード例を紹介します。 1. トリガーを作成する まず、データベース内のイベントをリッスンするトリガーを作成する必要があります。ここでは「注文テーブル(order_table)」を例に挙げますが、新規注文が挿入されるとトリガーが起動し、外部プログラムが呼び出されて操作が実行されます。

タイトル: HTML を MP4 形式に変換する方法: 詳細なコード例 日常の Web ページ制作プロセスでは、HTML ページまたは特定の HTML 要素を MP4 ビデオに変換する必要がよく発生します。たとえば、アニメーション効果、スライドショー、またはその他の動的要素をビデオ ファイルとして保存します。この記事では、HTML5 と JavaScript を使用して HTML を MP4 形式に変換する方法と、具体的なコード例を紹介します。 HTML5ビデオタグとCanvasAPI HTML5の概要

ダンプ ファイルの取得方法 コンピュータ システムにおいて、ダンプ ファイルとは、システムの動作状態やデータを記録するファイルです。ソフトウェア開発やシステムのトラブルシューティングでは、ダンプ ファイルを取得すると、プログラム開発者やシステム管理者がプログラムのクラッシュ、メモリ リーク、システム異常などのさまざまな問題を分析および診断するのに役立ちます。この記事では、ダンプ ファイルを取得するための一般的な方法とツールをいくつか紹介します。 1. タスク マネージャーを使用して Windows システムでダンプ ファイルを取得する方法: Windows オペレーティング システムでは、

以前に win11 が正式にリリースされ、多くのユーザーがすでに win12 を楽しみ始めており、win12 がいつリリースされるのか知りたがっていますが、実際には、ルールによれば 2024 年頃にリリースされる予定です。 win12 はいつリリースされましたか: A: Win12 は 2024 年の秋頃にリリースされる予定です。 1. Microsoft の最新速報によると、win12 は 2024 年の秋にリリースされる予定です。 2. そして、今回の win12 には複数の新しいデザインコンセプトが導入され、見た目の美しさと見た目がさらに改善されます。 3. 最新の開発者会議で、Microsoft 開発者は、タスクバーに浮遊感を与えるフローティング タスクバーを作成することを明らかにしました。

NVIDIA コントロール パネルとは何ですか? コンピューター技術の急速な発展に伴い、グラフィックス カードの重要性がますます高まっています。世界有数のグラフィックス カード メーカーとして、NVIDIA のコントロール パネルはさらに注目を集めています。では、NVIDIA コントロール パネルは具体的に何をするのでしょうか?この記事ではNVIDIAコントロールパネルの機能や使い方を詳しく紹介します。まず、NVIDIA コントロール パネルの概念と定義を理解しましょう。 NVIDIA コントロール パネルは、グラフィック カード関連の設定を管理および構成するために使用されるソフトウェアです。

全角と半角は中国語の入力方法における一般的な概念であり、異なる文字幅を表します。コンピュータの分野では、全角と半角の概念は主に、画面上または印刷物上で漢字や英語の文字が占めるスペースのサイズを表すために使用されます。まず、全角と半角はもともとタイプライターの時代に生まれました。タイプライターでは通常、中国語の文字は全角で表示され、英語の文字は半角で表示されます。これは、漢字の幅が比較的広く、全角にすると記事全体が美しく見え、レイアウトがコンパクトになるためです。英語の文字は、

携帯電話の PSD ファイルは Photoshop ソフトウェアを使用して開かれます。PSD は Photoshop 独自のファイル形式であり、レイヤー、チャンネル、パス、透明度などの情報を保持できます。したがって、携帯電話の PSD ファイルを開きたい場合は、まず Photoshop ソフトウェアがインストールされていることを確認してください。まず、Photoshop ソフトウェアを開き、メニュー バーの [ファイル] オプションをクリックし、ポップアップ ドロップダウン メニューで [開く] を選択します。次に、フォルダーを参照して、保存した電話を見つける必要があります。
