<?php

$input = '-16-1=';
$result = 'Нет ответа';
$regexp = '!([0-9\\.]+)!';

$example = array();
$example = preg_split($regexp, $input, 0, PREG_SPLIT_NO_EMPTY|
 	       PREG_SPLIT_DELIM_CAPTURE);
 	       
$result = (float)$example[0];

foreach ($example as $key => $value)
	if ($key % 2 === 1) {
		switch($value) {
			case '+': $result += (float)$example[$key+1]; break;
			case '-': $result -= (float)$example[$key+1]; break;
			case '*': $result *= (float)$example[$key+1]; break;
			case '/': $result /= (float)$example[$key+1]; break;
			case '=': echo "Ответ: ", $input, $result; break 2;
			default: echo "Что-то пошло не так. Символы то верные ввёл?";
		};
	}