脚本宝典收集整理的这篇文章主要介绍了PHP中单个循环中的多个生成器,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
$generator = $someClass->load(); //load method uses yield so IT returns generator object foreach($generator as $i) { // do something }
但是如果我想一次使用两台发电机呢?
$generatorA = $someClass1->load(); //load method uses yield so it returns generator object $generatorB = $someClass2->load(); //load method uses yield so it returns generator object foreach($generatorA as $i) { // how can I access to resultSet From generatorB here? }
Iterator
interface,因此您可以合并/组合多个生成器,就像您可以组合多个迭代器一样.
如果你想一个接一个地迭代两个生成器(合并A B),那么你可以使用AppendIterator
.
$aAndB = new ApPEndIterator(); $aAndB->append($generatorA); $aAndB->append($generatorB); foreach ($aAndB as $i) { ...
如果要一次迭代两个生成器,可以使用MultipleIterator
.
$both = new Multipleiterator(); $both->attachIterator($generatorA); $both->attachIterator($generatorB); foreach ($both as list($valueA,$valueB)) { ...
以上是脚本宝典为你收集整理的PHP中单个循环中的多个生成器全部内容,希望文章能够帮你解决PHP中单个循环中的多个生成器所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。