记录PHP生成器的一些特性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了记录PHP生成器的一些特性相关的知识,希望对你有一定的参考价值。

学习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();//0                                                                                                                                                                      
echo $gen->key();//null
echo $gen->send(‘haha‘);//null
echo $gen->key();//null 
echo $gen->current();//null
echo $gen->next();//null

PHP协程实现过程详解 

以上是关于记录PHP生成器的一些特性的主要内容,如果未能解决你的问题,请参考以下文章

简单拖拽即生成网页 VvvebJs

超级有用的9个PHP代码片段

discuz X3.1 源代码阅读,记录代码片段

.NET 6新特性试用 | 自动生成高性能日志记录代码

Prometheus 2.17.0 新特性

Prometheus 2.17.0 新特性