<?php
error_reporting(-1);
$input = "1+2*3-8/2+4*4-6/3";

$tester = '#[\d\+\-*/\s]#';
for ($i=0; $i<mb_strlen($input); $i++) {
	if (!preg_match($tester, mb_substr($input, $i, 1))) {
		echo "Формат неверен";
		exit();
	} 
}

echo "Вычисляем значение выражения: $input\n";

$devider = '#(\+|-|\*|=|/)#';
$parts = preg_split($devider, $input,0, PREG_SPLIT_DELIM_CAPTURE);
$length = count($parts);

print_r($parts);

for ($i=0; $i<count($parts); $i++) {
	if ($parts[$i] == "*") {
		echo "Выполняем умножение {$parts[$i-1]} * {$parts[$i+1]}\n";
		$temp = $parts[$i-1] * $parts[$i+1];
		$parts[$i-1] = $temp;
		array_splice($parts, $i, 2);
	}
}
print_r($parts);
	
for ($i=0; $i<count($parts); $i++) {
	if ($parts[$i] == "/") {
		echo "Выполняем деление {$parts[$i-1]} / {$parts[$i+1]}\n";
		$temp = $parts[$i-1] / $parts[$i+1];
		$parts[$i-1] = $temp;
		array_splice($parts, $i, 2);
	}
}

print_r($parts);

for ($i=0; $i<count($parts); $i++) {
		if ($parts[$i] == "+") {
			echo "Выполняем сложене {$parts[$i-1]} + {$parts[$i+1]}\n";
			$temp = $parts[$i-1] + $parts[$i+1];
			$parts[$i-1] = $temp;
			array_splice($parts, $i, 2);
		}
	}

print_r($parts);

for ($i=0; $i<count($parts); $i++) {
		if ($parts[$i] == "-") {
			echo "Выполняем вычетание {$parts[$i-1]} - {$parts[$i+1]}\n";
			$temp = $parts[$i-1] - $parts[$i+1];
			$parts[$i-1] = $temp;
			array_splice($parts, $i, 2);
		}
	}
	
print_r($parts);