<?php
function gen1() {
$x = yield 1;
echo "Sup!\n";
$y = yield 2;
var_dump($x + $y);
}
function yfgenerator() {
yield from gen1();
echo "Dawg\n";
yield from gen1();
yield from [1, 2, 3];
}
function yfeiterator() {
$arr = [1, 2, 3];
foreach($arr as $val) {
yield $val;
}
}
function yfiterator() {
yield from [];
yield from [1, 2, 3];
/**/
yield from array(
"first" => 1,
"second" => 2,
"third" => 3,
);
/**/
}
function iterationTest($g) {
echo "About to start iteration\n";
foreach($g as $key => $val) {
echo "Iteration!\n";
var_dump($key);
var_dump($val);
}
echo "Done with iteration\n";
}
function sendingTest($g) {
$g->next();
$g->send(10);
$g->send(20);
}
iterationTest(yfiterator());
//iterationTest(yfeiterator());
// iterationTest(gen1());
echo "Done with all tests\n";
- Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.20, 7.2.0 - 7.2.33, 7.3.16 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
- About to start iteration
Iteration!
int(0)
int(1)
Iteration!
int(1)
int(2)
Iteration!
int(2)
int(3)
Iteration!
string(5) "first"
int(1)
Iteration!
string(6) "second"
int(2)
Iteration!
string(5) "third"
int(3)
Done with iteration
Done with all tests
- Output for 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.7 - 5.6.28
- Parse error: syntax error, unexpected '1' (T_LNUMBER) in /in/I1i17 on line 4
Process exited with code 255.
preferences:
203.86 ms | 402 KiB | 229 Q