yield 表达式
yield表达式结果
# 执行顺序流程类似
$res = (yield 1); // <- var_dump("1::" . $gen->current()); 第一步到yield返回
var_dump($res); // <- $gen->send(222); 第二步send:222后,继续往下走$res=222 然后var_dump($res), 然后到了yield 2
$res = (yield 2); // <- var_dump("2::" . $gen->current()); 打印当前的值2
var_dump($res); // <- $gen->send(333); 第三步send:333后,继续往下走$res=333 然后var_dump($res), 然后到了yield 3
$res = (yield 3); // <- var_dump("3::" . $gen->current());
var_dump($res); // <- $gen->send(null); 第二步send:null后,继续往下走$res=null 然后var_dump($res), 然后到了yield 4
$res = (yield 4); // <- var_dump("4::" . $gen->current());
总结
初识我们只需要先理解next和send即可
next->让我们可以主动自动执行迭代器
send->可以让我们的迭代器实现双向通信,改变执行体流程顺序
后续我们会介绍使用场景和Co自动执行体等
以上就是php下生成器的简单了解(代码解析)的详细内容,更多请关注php中文网其它相关文章!
网站建设是一个广义的术语,涵盖了许多不同的技能和学科中所使用的生产和维护的网站。
关键词:php下生成器的容易知道(代码解析)