<?php
$input = '2-2*4+15-0/1.5=';
$number = 0;
$result = 0;
$op = '';
$numbersAndOperations = array(); preg_match_all('/\d+\.?\d*|[+\-*\/=]/', $input, $numbersAndOperations);
foreach ($numbersAndOperations[0] as $chars) {
if ($chars == '-' or $chars == '+' or $chars == '*' or $chars == '/' or $chars == '=') {
$op = $chars;
if (!$result) {
$result = $number;
}
} else {
if ($op) {
switch ($op) {
case '-':
$result -= $number;
break;
case '+':
$result += $number;
break;
case '*':
$result *= $number;
break;
case '/':
$result /= $number;
break;
}
$number = 0;
}
}
if ($op == '=') {
}
}
PD9waHAKCmVycm9yX3JlcG9ydGluZygtMSk7CgokaW5wdXQgPSAnMi0yKjQrMTUtMC8xLjU9JzsKCiRudW1iZXIgPSAwOwokcmVzdWx0ID0gMDsKJG9wID0gJyc7CgokbnVtYmVyc0FuZE9wZXJhdGlvbnMgPSBhcnJheSgpOwpwcmVnX21hdGNoX2FsbCgnL1xkK1wuP1xkKnxbK1wtKlwvPV0vJywgJGlucHV0LCAkbnVtYmVyc0FuZE9wZXJhdGlvbnMpOwoKZm9yZWFjaCAoJG51bWJlcnNBbmRPcGVyYXRpb25zWzBdIGFzICRjaGFycykgewoKCWlmICgkY2hhcnMgPT0gJy0nIG9yICRjaGFycyA9PSAnKycgb3IgJGNoYXJzID09ICcqJyBvciAkY2hhcnMgPT0gJy8nIG9yICRjaGFycyA9PSAnPScpIHsKCgkJJG9wID0gJGNoYXJzOwoJCQoJCWlmICghJHJlc3VsdCkgewoJCQkkcmVzdWx0ID0gJG51bWJlcjsKCQl9CgoJfSBlbHNlIHsKCgkJJG51bWJlciA9IGZsb2F0dmFsKCRjaGFycyk7CgoJCWlmICgkb3ApIHsKCgkJCXN3aXRjaCAoJG9wKSB7CgkJCQljYXNlICctJzoKCQkJCQkkcmVzdWx0IC09ICRudW1iZXI7CgkJCQkJYnJlYWs7CgkJCQljYXNlICcrJzoKCQkJCQkkcmVzdWx0ICs9ICRudW1iZXI7CgkJCQkJYnJlYWs7CgkJCQljYXNlICcqJzoKCQkJCQkkcmVzdWx0ICo9ICRudW1iZXI7CgkJCQkJYnJlYWs7CgkJCQljYXNlICcvJzoKCQkJCQkkcmVzdWx0IC89ICRudW1iZXI7CgkJCQkJYnJlYWs7CgkJCX0KCgkJCSRudW1iZXIgPSAwOwoJCX0KCQkKCX0KCglpZiAoJG9wID09ICc9JykgewoJCWVjaG8gcm91bmQoJHJlc3VsdCwgMik7CgkJZXhpdCgpOwoJfQoKfQ==