<?php

error_reporting(-1);

$input = '243+6743-78*2=';
$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 == '/' || $char == '=') {
		echo "op=[$op], result= [$result], number = [$number], char = [$char]\n";
		switch($op) {
			case '':
				$result = $number;
				break;
			case '+':
				$result = $result + $number;
				break;
			case '-':
				$result = $result - $number;
				break;
			case '*':
				$result = $result * $number;
				break;
			case '/':
				$result = $result / $number;
				break;
		}
		$op = $char;
		$number = 0;
		if ($char == '=') {
			echo "Ответ: $input$result";
			exit();
		}
	} elseif (is_numeric($char)) {
		$number = $number * 10 + intval($char);
	} else {
		echo "Неверный символ '$char'\n";
	}	
}