生成器的回傳值
在PHP5.5引入生成器的概念。生成器函數每執行一次就得到一個yield標識的值。在PHP7中,當生成器迭代完成後,可以取得該生成器函數的回傳值。透過Generator::getReturn()得到。
<?php function generator() { yield 1; yield 2; yield 3; return "a"; } $generatorClass = ("generator")(); foreach ($generatorClass as $val) { echo $val.” “; } echo $generatorClass->getReturn();
輸出為:1 2 3 a
#產生器中引入其他生成器
在生成器中可以引入另一個或幾個生成器,只需要寫入yield from functionName1
<?php function generator1(){ yield 1; yield 2; yield from generator2(); yield from generator3(); } function generator2(){ yield 3; yield 4; } function generator3(){ yield 5; yield 6; } foreach (generator1() as $val){ echo $val, " "; }
輸出:1 2 3 4 5 6
以上是介紹php7中產生器使用方法更新的詳細內容。更多資訊請關注PHP中文網其他相關文章!