function yielding()
{
for ($i = 0; $i < 10; $i++) {
var_dump(yield);
}
}
$y = yielding();
foreach ($y as $val) {
$y->send('foo');
}
出力:
string(3) "foo"
NULL
string(3) "foo"
NULL
string(3) "foo"
NULL
string(3) "foo"
NULL
string(3) "foo"
私は出力が 10 回になると予想していましたstring(3) "foo"
が、代わりに出力は 1NULL
と 1 string(3) "foo"
(9 回) です。それはなぜです?generator->send() は 1 回の繰り返しをスキップしますか?