3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Pipe { var $stderr; } function words() { foreach (["foo", "bar", "baz"] as $word) { yield $word; } } function uppercase(Traversable $in, Generator $error) { foreach ($in as $word) { yield strtoupper($word); } } $stderr = function() { for (;;) { $error = (yield); echo "Error! $error\n"; } }; foreach (uppercase(words(), $stderr()) as $word) { echo "$word\n"; }

preferences:
39.03 ms | 402 KiB | 5 Q