<?php
$input = "-7/4*15+8-5=";
$res = 0;
$op = "";
$numbers = preg_split("/(\\s*[\\*\\-\\+\\/\\=]\\s*)/", $input, -1, PREG_SPLIT_NO_EMPTY
| PREG_SPLIT_DELIM_CAPTURE
); //print_r($numbers);
foreach ($numbers as $key => $val) {
$numbers[$key] = trim($val);
$op = $val;
continue;
switch ($op) {
case "+":
case "":
$res += $val;
break;
case "-":
$res -= $val;
break;
case "*":
$res *= $val;
break;
case "/":
$res /= $val;
break;
default:
echo "Wrong input!";
}
continue;
} elseif ($val == "=") {
echo "$res \n";
} else
echo "Wrong input!";
}
?>
PD9waHAKCmVycm9yX3JlcG9ydGluZygtMSk7Cm1iX2ludGVybmFsX2VuY29kaW5nKCd1dGYtOCcpOwoKJGlucHV0ID0gIi03LzQqMTUrOC01PSI7CgokcmVzICAgICA9IDA7CiRvcCAgICAgID0gIiI7CiRudW1iZXJzID0gcHJlZ19zcGxpdCgiLyhcXHMqW1xcKlxcLVxcK1xcL1xcPV1cXHMqKS8iLCAkaW5wdXQsIC0xLCBQUkVHX1NQTElUX05PX0VNUFRZIHwgUFJFR19TUExJVF9ERUxJTV9DQVBUVVJFKTsKLy9wcmludF9yKCRudW1iZXJzKTsKCmZvcmVhY2ggKCRudW1iZXJzIGFzICRrZXkgPT4gJHZhbCkgewogICAgCiAgICAkbnVtYmVyc1ska2V5XSA9IHRyaW0oJHZhbCk7CiAgICAKICAgIGlmIChwcmVnX21hdGNoKCIvW1xcK1xcLVxcL1xcKl0vIiwgJHZhbCkpIHsKICAgICAgICAkb3AgPSAkdmFsOwogICAgICAgIGNvbnRpbnVlOwogICAgfSBlbHNlaWYgKGlzX251bWVyaWMoJHZhbCkpIHsKICAgICAgICBzd2l0Y2ggKCRvcCkgewogICAgICAgICAgICBjYXNlICIrIjoKICAgICAgICAgICAgY2FzZSAiIjoKICAgICAgICAgICAgICAgICRyZXMgKz0gJHZhbDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICItIjoKICAgICAgICAgICAgICAgICRyZXMgLT0gJHZhbDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICIqIjoKICAgICAgICAgICAgICAgICRyZXMgKj0gJHZhbDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBjYXNlICIvIjoKICAgICAgICAgICAgICAgICRyZXMgLz0gJHZhbDsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgZWNobyAiV3JvbmcgaW5wdXQhIjsKICAgICAgICB9CiAgICAgICAgY29udGludWU7CiAgICB9IGVsc2VpZiAoJHZhbCA9PSAiPSIpIHsKICAgICAgICAkcmVzID0gcm91bmQoJHJlcywgMik7CiAgICAgICAgZWNobyAiJHJlcyBcbiI7CiAgICAgICAgZXhpdDsKICAgIH0gZWxzZQogICAgICAgIGVjaG8gIldyb25nIGlucHV0ISI7CiAgICBleGl0Owp9Cj8+Cg==