PHP 7 の高度な機能: yield キーワードを使用してジェネレーター関数を実装する方法
はじめに:
PHP 7 にはいくつかの新しい高度な機能が導入されており、最も目を引くものの 1 つは yield キーワードです。 yield キーワードを使用してジェネレーター関数を作成すると、すべてを一度にメモリーに保存せずに、大量のデータを簡単に生成できるようになります。この記事では、yield キーワードの使用方法を紹介し、コード例を通じて読者がその動作原理をよりよく理解できるようにします。
次は、単純なジェネレーター関数の例です:
function myGenerator() { yield 1; yield 2; yield 3; } $generator = myGenerator(); foreach ($generator as $value) { echo $value . " "; } // 输出:1 2 3
上の例では、myGenerator() 関数はジェネレーター関数であり、それぞれ yield キーワードを使用します。番号 1、2、および 3 が生成されます。ジェネレーター関数によって返されたジェネレーター オブジェクトをトラバースすることで、ジェネレーター関数によって生成された値を順番に取得できます。
function rangeGenerator($start, $end) { for ($i = $start; $i <= $end; $i++) { yield $i; } } $generator = rangeGenerator(1, 5); foreach ($generator as $value) { echo $value . " "; } // 输出:1 2 3 4 5
上の例では、 rangeGenerator() 関数はジェネレーター関数であり、2 つのパラメーター $start と $end を受け入れます。関数内では、ループと yield キーワードを使用して $start から $end までのすべての整数を生成します。
function keyValueGenerator() { yield 'name' => 'John'; yield 'age' => 25; yield 'country' => 'USA'; } $generator = keyValueGenerator(); foreach ($generator as $key => $value) { echo "$key: $value" . " "; } // 输出:name: John age: 25 country: USA
上の例では、keyValueGenerator() 関数はジェネレーター関数です。 yield キーワードと矢印を使用して、名前、年齢、国を含む一連のキーと値のペアを生成します。ジェネレーター オブジェクトをトラバースするとき、キーと対応する値を個別に取得できます。
概要:
ジェネレーター関数は、PHP 7 で導入された非常に便利な高度な機能です。 yield キーワードを使用すると、すべてを一度にメモリに保存することなく、大量のデータを効率的に生成できます。ジェネレーター関数のパラメーターと生成されたキーと値のペアにより、ジェネレーター関数がより柔軟で強力になります。この記事の紹介と例が、読者が yield キーワードをよりよく理解し、適用するのに役立つことを願っています。
以上がPHP 7 の高度な機能: yield キーワードを使用してジェネレーター関数を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。