3v4l.org

run code in 300+ PHP versions simultaneously
<?php $g = function () { $num = yield "random_number"; $str = yield "random_string"; $num2 = yield "random_number"; echo "Hey it's g, I've got: {$num}, {$str}, {$num2}\n"; }; $gen = $g(); while ($gen->valid()) { $generated = $gen->current(); echo "g is asking for {$generated}\n"; switch ($generated) { case "random_number": $gen->send(random_int(0, 1000000000)); break; case "random_string": $gen->send(bin2hex(random_bytes(16))); break; } }

preferences:
27.93 ms | 406 KiB | 5 Q