<?php
$input = '2.5+1.2=';
$number = 0; /* Текущее число, которое набирает пользователь */
$result = 0; /* Результат предыдущих действий */
$result1 = 0;
$op = ''; /* Предыдущая операция (+, -, *) */
$op1 = '';
for($i = 0; $i < $inputLength; $i++) {
if(($char == '+')||($char == '-')||($char == '*')||($char == '=')) {
for($j = 0; $j != (($char == '+')||($char == '-')||($char == '*')); $j++) {
if(($char == '+')||($char == '-')||($char == '*')) {
if($op == '+') {
$result = $result + $number;
$op = $char;
} elseif($op == '-') {
$result = $result - $number;
$op = $char;
} elseif($op == '*') {
$result = $result * $number;
$op = $char;
} else {
$result = $number;
$op = $char;
}
$number = 0;
}
}
if($char == '=') {
if($op == '+') {
$result = $result + $number;
} elseif($op == '-') {
$result = $result - $number;
} else {
$result = $result * $number;
}
}
if($op1 == '.') {
for($e = 0.1; $e == is_numeric($char); $e *= 0.1) { $inc = $e;
$char = $char * $inc;
}
} else {
$number = $number * 10;
}
$op1 = '';
} else {
$op1 = $char;
}
$number = $number + $char;
} else {
echo "неверый символ: '$char' \n";
}
}
PD9waHAKCmVycm9yX3JlcG9ydGluZygtMSk7Cm1iX2ludGVybmFsX2VuY29kaW5nKCd1dGYtOCcpOwoKJGlucHV0ID0gJzIuNSsxLjI9JzsKJGlucHV0TGVuZ3RoID0gbWJfc3RybGVuKCRpbnB1dCk7CgokbnVtYmVyID0gMDsgLyog0KLQtdC60YPRidC10LUg0YfQuNGB0LvQviwg0LrQvtGC0L7RgNC+0LUg0L3QsNCx0LjRgNCw0LXRgiDQv9C+0LvRjNC30L7QstCw0YLQtdC70YwgKi8KJHJlc3VsdCA9IDA7IC8qINCg0LXQt9GD0LvRjNGC0LDRgiDQv9GA0LXQtNGL0LTRg9GJ0LjRhSDQtNC10LnRgdGC0LLQuNC5ICovCiRyZXN1bHQxID0gMDsKJG9wID0gJyc7IC8qINCf0YDQtdC00YvQtNGD0YnQsNGPINC+0L/QtdGA0LDRhtC40Y8gKCssIC0sICopICovCiRvcDEgPSAnJzsKCiAgICBmb3IoJGkgPSAwOyAkaSA8ICRpbnB1dExlbmd0aDsgJGkrKykgewogICAgCSRjaGFyID0gbWJfc3Vic3RyKCRpbnB1dCwgJGksIDEpOwogICAgICAgCWlmKCgkY2hhciA9PSAnKycpfHwoJGNoYXIgPT0gJy0nKXx8KCRjaGFyID09ICcqJyl8fCgkY2hhciA9PSAnPScpKSB7CiAgICAgICAJCWZvcigkaiA9IDA7ICRqICE9ICgoJGNoYXIgPT0gJysnKXx8KCRjaGFyID09ICctJyl8fCgkY2hhciA9PSAnKicpKTsgJGorKykgewogICAgICAgCQkJaWYoKCRjaGFyID09ICcrJyl8fCgkY2hhciA9PSAnLScpfHwoJGNoYXIgPT0gJyonKSkgewogICAgICAgCQkJCWlmKCRvcCA9PSAnKycpIHsKICAgICAgIAkJCQkJJHJlc3VsdCA9ICRyZXN1bHQgKyAkbnVtYmVyOwogICAgICAgCQkJCQkkb3AgPSAkY2hhcjsKICAgICAgIAkJCQl9IGVsc2VpZigkb3AgPT0gJy0nKSB7CiAgICAgICAJCQkJCSRyZXN1bHQgPSAkcmVzdWx0IC0gJG51bWJlcjsKICAgICAgIAkJCQkJJG9wID0gJGNoYXI7CiAgICAgICAJCQkJfSBlbHNlaWYoJG9wID09ICcqJykgewogICAgICAgCQkJCQkkcmVzdWx0ID0gJHJlc3VsdCAqICRudW1iZXI7CiAgICAgICAJCQkJCSRvcCA9ICRjaGFyOwogICAgICAgCQkJCX0gZWxzZSB7CiAgICAgICAJCQkJCSRyZXN1bHQgPSAkbnVtYmVyOwogICAgICAgCQkJCQkkb3AgPSAkY2hhcjsKICAgICAgIAkJCQl9CiAgICAgICAJCQkJJG51bWJlciA9IDA7CiAgICAgICAJCQl9CiAgICAgICAJCX0KICAgICAgIAkJICAgIGlmKCRjaGFyID09ICc9JykgewogICAgICAgCQkJCWlmKCRvcCA9PSAnKycpIHsKICAgICAgIAkJCQkJJHJlc3VsdCA9ICRyZXN1bHQgKyAkbnVtYmVyOwogICAgICAgCQkJCX0gZWxzZWlmKCRvcCA9PSAnLScpIHsKICAgICAgIAkJCQkJJHJlc3VsdCA9ICRyZXN1bHQgLSAkbnVtYmVyOwogICAgICAgCQkJCX0gZWxzZSB7CiAgICAgICAJCQkJCSRyZXN1bHQgPSAkcmVzdWx0ICogJG51bWJlcjsKICAgICAgIAkJCQl9CiAgICAgICAJCQl9CiAgICAgICAJICAgICAgICB2YXJfZHVtcCgnb3A6ICAnIC4gJG9wKTsKICAgICAgICAgICAJICAgIHZhcl9kdW1wKCdyZXM6ICAnIC4gJHJlc3VsdCk7CiAgICAgICAgICAgCSAgICB2YXJfZHVtcCgnbnVtOiAgJyAuICRudW1iZXIpOwogICAgICAgICAgIAkgICAgdmFyX2R1bXAoJ2NoYXI6ICAnIC4gJGNoYXIpOwogICAgICAgCX0gZWxzZWlmKGlzX251bWVyaWMoJGNoYXIpfHwoJGNoYXIgPT0gJy4nKSkgewogICAgICAgCQlpZihpc19udW1lcmljKCRjaGFyKSkgewoJCQkgICAgaWYoJG9wMSA9PSAnLicpIHsKCQkJICAgIAlmb3IoJGUgPSAwLjE7ICRlID09IGlzX251bWVyaWMoJGNoYXIpOyAkZSAqPSAwLjEpIHsKCQkJICAgIAkJJGluYyA9ICRlOwogICAgICAgCQkgICAgICAgICRjaGFyID0gJGNoYXIgKiAkaW5jOwoJCQkgICAgCX0KICAgICAgIAkJCX0gZWxzZSB7CiAgICAgICAJCQkJJG51bWJlciA9ICRudW1iZXIgKiAxMDsKICAgICAgIAkJCX0KICAgICAgIAkJCSRvcDEgPSAnJzsKICAgICAgIAkJfSBlbHNlIHsKICAgICAgIAkgICAgICAgICRvcDEgPSAkY2hhcjsKICAgICAgIAkJfQogICAgICAgCQkgICAgJG51bWJlciA9ICRudW1iZXIgKyAkY2hhcjsKICAgICAgIAkJCXZhcl9kdW1wKCdvcDEgICAnLiRvcDEpOwogICAgICAgCQkJdmFyX2R1bXAoJ2NoYXIxICAnLiRjaGFyKTsKICAgICAgIAl9IGVsc2UgewogICAgICAgCQllY2hvICLQvdC10LLQtdGA0YvQuSDRgdC40LzQstC+0Ls6ICckY2hhcicgXG4iOwogICAgICAgCX0KICAgIH0KdmFyX2R1bXAoJHJlc3VsdCk7