<?php
 
error_reporting(-1);
mb_internal_encoding('utf-8');
 
$input = '1+3*2/0.5=';
$inputLength = mb_strlen($input);
$number = 0;
$result = 0;
$count = 0;//считает количество цифр после точки
$op = '';
$decimalMark = '';
if(preg_match('/[.,]{2,}/u', $input)){
	echo "Уберите лишний знак!\n";
	exit();
}
for($i = 0; $i < $inputLength; $i++){
	$char = mb_substr($input, $i, 1);
	if($char == ','|| $char == '.'){
		$decimalMark = $char;
	}
	if($char == '*' || $char =='+' || $char == '-' || $char == '=' || $char == '/'){
		$count = 0;
		$decimalMark = '';
		if($op == '+'){
		    $result+= $number;
		}elseif($op == '-'){
			$result-= $number;
		}elseif($op == '*'){
			$result*= $number;
		}elseif($op == '/'){
			$result/= $number;
		}else{
			$result = $number;
		}
		$op = $char;
		$number = 0;
	}elseif(is_numeric($char)){
		if($decimalMark != ''){
			$count++;
			$number = $number + $char / pow(10, $count);
			$number = floatval($number);
		}else{
		    $number = $number*10+$char;
		    $number = intval($number);
		}    
	}elseif($char == '.' || $char == ','){
	}else{
		echo "Неверный символ '$char'\n";
	}
}
if($op == '='){
	echo $result;
}	