<?php
function gen_one() {
for ($i = 0; $i <= 3; $i++) {
//注意变量$i的值在不同的yield之间是保持传递的。
yield $i;
echo $i.'| |' ;
}
//echo'-functionEnd-';
}
$get = gen_one();
foreach ($get as $value) {
echo "$value";
}
function one(){
for ($i=0; $i < 3; $i++) {
$a[$i] = '';
$a[$i] .= $i;
echo "<br/>";
print_r($a);
}
}
$get = one();
//foreach ($get as $value) {
echo "$get";
//}
function gen_one() {
for ($i = 0; $i <= 3; $i++) {
//注意变量$i的值在不同的yield之间是保持传递的。
yield $i;
echo $i.'| |' ;
}
//echo'-functionEnd-';
}
$get = gen_one();
foreach ($get as $value) {
echo "$value";
}
function one(){
for ($i=0; $i < 3; $i++) {
$a[$i] = '';
$a[$i] .= $i;
echo "<br/>";
print_r($a);
}
}
$get = one();
//foreach ($get as $value) {
echo "$get";
//}
?>
yield 是php 5.5出现的一个新特性
当程序运行到yield的时候,使用协程将上下文环境记录住,然后将程序操作权和返回值返还到上一级,在程序结束的后,会重新唤起协程,读取yield记录的上下文,继续执行