<?php
error_reporting(-1);
mb_internal_encoding('utf-8');

$input       = "2-2*2+5=";
$inputLength = mb_strlen($input);
$number      = 0;
$result      = 0;
$op          = '';

for ($i = 0; $i < $inputLength; $i++) {
    $char = mb_substr($input, $i, 1);
    if ($char == "*" || $char == "+" || $char == "-" || $char == "=") {
        echo "op = [$op] result = [$result] number = [$number] char = [$char]\n";
        if ($op == "+") {
            $result += $number;
        } elseif ($op == "-") {
            $result -= $number;
        } elseif ($op == "*") {
            $result *= $number;
        }
        if ($char == "=") {
        	if ($op == '') {$result = $number;}
            echo $input . $result;
        }
        
        if (($result == 0) & ($op == '')) {
            $result = $number;
        }
        $op     = $char;
        $number = 0;
    } elseif (is_numeric($char)) {
        $number = $number*10 + $char;
    } else {
        echo "Неверный символ: '$char'\n";
    }
}
    