【发布时间】:2014-10-13 14:05:02
【问题描述】:
我正在使用 PHP 生成器,无法解释这种行为。 这是我试过的代码
<!-- language: PHP -->
<?php
function myfun($num1, $num2, $ctr = 1) {
for ($i = $num1; $i <= $num2; $i =+ $ctr) {
yield $i;
}
}
echo 'Odd numbers: ';
foreach(myfun(1, 7, 2) as $num) {echo $num;};
?>
有人可以使用 PHP yield 来解释我的这种行为,进入无限循环吗?
结果:奇数:122222222222222222222222222222222......
注意:$i += $ctr 按预期工作
结果:奇数:1357
【问题讨论】:
-
$i =+ $ctr与$i = $ctr相同。+ some number本质上是一个空操作。
标签: php generator yield post-increment