記錄PHP生成器的一些特性
阿新 • • 發佈:2017-10-09
() art net blog hello tails 代碼 nbsp gen
學習PHP的生成器,測試了一些特性。代碼如下:
function gen() { $name = (yield ‘hello‘); $nickname = (yield ‘world‘); yield ‘!!!‘; echo $name; echo ‘---‘.$nickname; } $gen = gen(); echo $gen->key(),‘:‘,$gen->current();//0:hello echo $gen->key(),‘:‘,$gen->current();//0:hello echo $gen->key(),‘:‘,$gen->send(‘jack‘);//0:world echo $gen->key(),‘:‘,$gen->current();//1:world echo $gen->key(),‘:‘,$gen->send(‘mysic‘);//!!! echo $gen->key(),‘:‘,$gen->current();//!!! echo $gen->key();//2 echo $gen->current();//!!! echo $gen->next();//jack---mysic echo (int)$gen->valid();//0echo $gen->key();//null echo $gen->send(‘haha‘);//null echo $gen->key();//null echo $gen->current();//null echo $gen->next();//null
PHP協程實現過程詳解
記錄PHP生成器的一些特性