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; }else if ($op == '='){ echo $result; } $op = $char; $number = 0; } elseif (is_numeric($char)){ $number = $number * 10 + $char; } else { echo "Неверный символ: {$char}\n"; } } function reporting($op, $result, $number, $char){ echo "op = [{$op}], result = [{$result}], number = [{$number}], char = [{$char}]\n"; }

preferences:
31.77 ms | 402 KiB | 5 Q