3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php function mockInputRead() { static $commands = [ 'open foo', 'close bar', 'dance with the devil in the pale moonlight', 'exit', ]; return array_shift($commands); } function vprintfln($format, array $args = []) { vprintf($format . PHP_EOL, $args); } $handlers = [ 'open' => function ($target) { vprintfln('Opening "%s"', [$target]); return 0; }, 'close' => function ($target) { vprintfln('Closing "%s"', [$target]); return 0; }, 'exit' => function () { vprintfln('Exiting...'); return 1; }, ]; $invalidHandler = function ($command) { vprintfln('## Invalid command "%s"', [$command]); }; while (true) { list($command, $argument) = explode(' ', mockInputRead(), 1) + [null, null]; if (!empty($command)) { if (isset($handlers[$command])) { if ($handlers[$command]($argument) > 0) { break; } } else { $invalidHandler($command); } } } vprintfln('Bye!');
Output for 5.4.0 - 5.6.28, hhvm-3.10.0 - 3.12.0, 7.0.0 - 7.1.0
## Invalid command "open foo" ## Invalid command "close bar" ## Invalid command "dance with the devil in the pale moonlight" Exiting... Bye!
Output for 4.4.2 - 4.4.9, 5.1.0 - 5.3.29
Parse error: syntax error, unexpected '[' in /in/Fb6F6 on line 6
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1, 5.0.0 - 5.0.5
Parse error: parse error, unexpected '[' in /in/Fb6F6 on line 6
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/Fb6F6 on line 6
Process exited with code 255.