<?php

$input = "55/5*1=";
$inputLength = mb_strlen($input);

$number = 0; //actual number
$result = 0; //of previous actions
$op = ""; //last unused operation
for ($i = 0; $i < $inputLength; $i++) {
    $char = mb_substr($input, $i, 1);

    if ($char == "*" || $char == "+" || $char == "-" || $char == "/") {
        switch($op) {
            case(""):
                $op = $char;
                $result = $number;
                $number = 0;
                break;
            case ("*"):
                $result = $result * $number;
                $op = $char;
                $number = 0;
                break;
            case ("+"):
                $result = $result + $number;
                $op = $char;
                $number = 0;
                break;
            case ("-"):
                $result = $result - $number;
                $op = $char;
                $number = 0;
                break;
            case ("/"):
                $result = $result / $number;
                $op = $char;
                $number = 0;
                break;

        }

    } elseif (is_numeric($char)) {
        $number = $number * 10 + intval($char);

    } elseif ($char == "=") {
        switch($op) {
            case ("*"):
                $result = $result * $number;
                $op = $char;
                $number = 0;
                break;
            case ("+"):
                $result = $result + $number;
                $op = $char;
                $number = 0;
                break;
            case ("-"):
                $result = $result - $number;
                $op = $char;
                $number = 0;
                break;
            case ("/"):
                $result = $result / $number;
                $op = $char;
                $number = 0;
                break;
        }
        echo $result;
        exit();
    } else {
        echo "Error. Error.  Error. **{$char}** is not a valid symbol. Retry.\n";
        exit();
    }

}