<?php
    mb_internal_encoding('utf-8');
    
    $operator = array('+', '-', '*', '=', '/');
    
    $input = '-2.43+3.62/2.1*9.02=';
    $inputLength = mb_strlen($input);
    
    $numberText = '';
    $result = 0;
    $op = '';
    
    for ($i = 0; $i < $inputLength; $i++) {
        $char = mb_substr($input, $i, 1);
        
        if (in_array($char, $operator)) {
            if ($char == '=') {
                switch ($op) {
                    case '+': 
                        $result += floatval($numberText);
                        break;
                    case '-':
                        $result -= floatval($numberText);
                        break;
                    case '*':
                        $result *= floatval($numberText);
                        break;
                    case '/':
                        $result /= floatval($numberText);
                        break;
                }
            } else {
                switch ($op) {
                    case '':
                        $result = floatval($numberText);
                        break;
                    case '+':
                        $result += floatval($numberText);
                        break;
                    case '-':
                        $result -= floatval($numberText);
                        break;
                    case '*':
                        $result *= floatval($numberText);
                        break;
                    case '/':
                        $result /= floatval($numberText);
                        break;
                }
            }
            echo "op = [$op], number = [$numberText], result = [$result], char = [$char]\n";
            $numberText = '';
            $op = $char;
        } elseif (is_numeric($char) || $char == '.') {
            $numberText .= $char;
        } else {
            echo "Непонятный символ. Работа программы прекращена\n";
            exit();
        }
    }
    
    echo "{$input}{$result}";