php yield 个人小解_php 技术 yield 问题
function gen() {
$ret= (yield'yield1');
$ret= (yield'yield2');
}
$gen= gen();
var_dump($gen->send('ret1'));?//輸出是?yield2 ?不理解為什么
function nums() {
for ($i = 0; $i < 5; ++$i) {
//get a value from the caller
$cmd = (yield $i);
if($cmd == 'stop')
return;//exit the function
}
}
$gen = nums();
var_dump( $gen->current());// 0
$gen->next();
var_dump( $gen->current());// 1
$gen->next();
$gen->rewind(); // 我以為這里 會將指針 回歸到 0 可是報錯
PHP Fatal error: ?Uncaught exception 'Exception' with message 'Cannot rewind a generator that was already run' in /var/www/html/learn.php:28
Stack trace:
#0 /var/www/html/ams/learn.php(28): Generator->rewind()
#1 {main}
thrown in /var/www/html/ams/learn.php on line 28
var_dump( $gen->current());// 我以為會輸出 0
總結
以上是生活随笔為你收集整理的php yield 个人小解_php 技术 yield 问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: log4j 源码解析_Log4j源码解析
- 下一篇: php spry文本域_用Spry框架来