<?php

//Калькулятор 2
error_reporting(-1);
mb_internal_encoding('utf-8');

//$input = '243+6743-78*2='; //13816
//$input = '7+2/2='; //4.5
$input = "200-200=";
$inputLength = mb_strlen($input);

$number = 0; //Текущее число
$result = 0; //Результат предыдущих действий
$op = ''; // Предыдущая операция
$digit = '';

for ($i = 0; $i < $inputLength; $i++) {
    $char = mb_substr($input, $i, 1);
    if ($char == '*' || $char == '+' || $char == '-' || $char == '=' || $char == '/') {
        $number = floatval($digit);

        if ($op == '+') {
            $result += $number;
        }

        if ($op == '-') {
            $result -= $number;
        }

        if ($op == '*') {
            $result *= $number;
        }

        if ($op == '/') {
            $result /= $number;
        }

        echo "op=[{$op}]  result = [{$result}]  number = [{$number}] char = [{$char}] \n";

        if ($result == 0) {
            $result = $number;
        }
        $op = $char;
        $digit = '';

        if ($char == "=") {
            echo "Ответ: {$input}{$result}";
        }

    } elseif (is_numeric($char) || $char == '.') {
        $digit .= $char;
    } else {
        echo "Неверный символ: {$char}\n";
    }

}
