3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(-1); $input = '243+6743-78*2='; $inputLenght = mb_strlen($input); $number = 0; $result = 0; $op = ''; for ($i = 0; $i < $inputLenght; $i++){ $char = mb_substr($input, $i, 1); if ($char == '+' || $char == '-' || $char == '*' || $char == '='){ if ($op == ''){ reporting($op, $result, $number, $char); $result = $number; }else if ($op == '+'){ reporting($op, $result, $number, $char); $result = $result + $number; }else if ($op == '-'){ reporting($op, $result, $number, $char); $result = $result - $number; }else if ($op == '*'){ reporting($op, $result, $number, $char); $result = $result * $number; } $op = $char; $number = 0; } elseif (is_numeric($char)){ $number = $number * 10 + $char; } else { echo "Неверный символ: {$char}\n"; } } echo "Ответ: {$input}{$result}\n"; function reporting($op, $result, $number, $char){ echo "op = [{$op}], result = [{$result}], number = [{$number}], char = [{$char}]\n"; }
Output for git.master, git.master_jit, rfc.property-hooks
op = [], result = [0], number = [243], char = [+] op = [+], result = [243], number = [6743], char = [-] op = [-], result = [6986], number = [78], char = [*] op = [*], result = [6908], number = [2], char = [=] Ответ: 243+6743-78*2=13816

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
58.1 ms | 401 KiB | 8 Q