<?php
$input = '6/2=';
//Вводим переменные $number-вводимое число, $result-результат предыдущих действий, $operation- предыдущая операция
$number = 0;
$result = 0;
$operation = '';
//Перебираем строку посимвольно
for ($i = 0; $i < $lenght; $i++) {
$symbol = substr($input, $i, 1); //Если $symbol является цифрой, то к предыдущее значение $symbol умножаем на 10 (увеличиваем разряд) и прибавляем $symbol
$number = ($number * 10) + $symbol;
} /*Иначе, если $symbol не является цифрой, а предыдущая операция еще не определена, $result=$number (нужно для
сохранения в памяти первого числа. Обнуляем $number, определяем $operation*/
elseif (!is_numeric($symbol) and
$operation == '') { $result = $number;
$number = 0;
$operation = $symbol;
}
//Если $symbol не цифра, а $operation ранее определена, выполняем действие//
if ($operation == '+') $result = $result + $number;
if ($operation == '-') $result = $result - $number;
if ($operation == '*') $result = $result * $number;
if ($operation == '/') $result = $result / $number;
//После выполнения действия обнуляем $number и присваиваем $operation новое значение
$number = 0;
$operation = $symbol;
}
//Если $symbol - знак равно, выводим результат ранее выполненных операций
if ($symbol == '=') {
echo($result);
}
}
PD9waHAKCgokaW5wdXQgPSAnNi8yPSc7Ci8v0JLQstC+0LTQuNC8INC/0LXRgNC10LzQtdC90L3Ri9C1ICRudW1iZXIt0LLQstC+0LTQuNC80L7QtSDRh9C40YHQu9C+LCAkcmVzdWx0LdGA0LXQt9GD0LvRjNGC0LDRgiDQv9GA0LXQtNGL0LTRg9GJ0LjRhSDQtNC10LnRgdGC0LLQuNC5LCAkb3BlcmF0aW9uLSDQv9GA0LXQtNGL0LTRg9GJ0LDRjyDQvtC/0LXRgNCw0YbQuNGPCiRudW1iZXIgPSAwOwokcmVzdWx0ID0gMDsKJG9wZXJhdGlvbiA9ICcnOwoKJGxlbmdodCA9IHN0cmxlbigkaW5wdXQpOwovL9Cf0LXRgNC10LHQuNGA0LDQtdC8INGB0YLRgNC+0LrRgyDQv9C+0YHQuNC80LLQvtC70YzQvdC+CmZvciAoJGkgPSAwOyAkaSA8ICRsZW5naHQ7ICRpKyspIHsKICAgICRzeW1ib2wgPSBzdWJzdHIoJGlucHV0LCAkaSwgMSk7CiAgICAvL9CV0YHQu9C4ICRzeW1ib2wg0Y/QstC70Y/QtdGC0YHRjyDRhtC40YTRgNC+0LksINGC0L4g0Log0L/RgNC10LTRi9C00YPRidC10LUg0LfQvdCw0YfQtdC90LjQtSAkc3ltYm9sINGD0LzQvdC+0LbQsNC10Lwg0L3QsCAxMCAo0YPQstC10LvQuNGH0LjQstCw0LXQvCDRgNCw0LfRgNGP0LQpINC4INC/0YDQuNCx0LDQstC70Y/QtdC8ICRzeW1ib2wKICAgIGlmIChpc19udW1lcmljKCRzeW1ib2wpKSB7CiAgICAgICAgJG51bWJlciA9ICgkbnVtYmVyICogMTApICsgJHN5bWJvbDsKICAgIH0gLyrQmNC90LDRh9C1LCDQtdGB0LvQuCAkc3ltYm9sINC90LUg0Y/QstC70Y/QtdGC0YHRjyDRhtC40YTRgNC+0LksINCwINC/0YDQtdC00YvQtNGD0YnQsNGPINC+0L/QtdGA0LDRhtC40Y8g0LXRidC1INC90LUg0L7Qv9GA0LXQtNC10LvQtdC90LAsICRyZXN1bHQ9JG51bWJlciAo0L3Rg9C20L3QviDQtNC70Y8KICAgINGB0L7RhdGA0LDQvdC10L3QuNGPINCyINC/0LDQvNGP0YLQuCDQv9C10YDQstC+0LPQviDRh9C40YHQu9CwLiDQntCx0L3Rg9C70Y/QtdC8ICRudW1iZXIsINC+0L/RgNC10LTQtdC70Y/QtdC8ICRvcGVyYXRpb24qLwogICAgZWxzZWlmICghaXNfbnVtZXJpYygkc3ltYm9sKSBhbmQgJG9wZXJhdGlvbiA9PSAnJykgewogICAgICAgICRyZXN1bHQgPSAkbnVtYmVyOwogICAgICAgICRudW1iZXIgPSAwOwogICAgICAgICRvcGVyYXRpb24gPSAkc3ltYm9sOwogICAgfQogICAgLy/QldGB0LvQuCAkc3ltYm9sINC90LUg0YbQuNGE0YDQsCwg0LAgJG9wZXJhdGlvbiDRgNCw0L3QtdC1INC+0L/RgNC10LTQtdC70LXQvdCwLCDQstGL0L/QvtC70L3Rj9C10Lwg0LTQtdC50YHRgtCy0LjQtS8vCiAgICBpZiAoIWlzX251bWVyaWMoJHN5bWJvbCkgYW5kICRvcGVyYXRpb24gIT0gJycpIHsKCiAgICAgICAgaWYgKCRvcGVyYXRpb24gPT0gJysnKSAkcmVzdWx0ID0gJHJlc3VsdCArICRudW1iZXI7CiAgICAgICAgaWYgKCRvcGVyYXRpb24gPT0gJy0nKSAkcmVzdWx0ID0gJHJlc3VsdCAtICRudW1iZXI7CiAgICAgICAgaWYgKCRvcGVyYXRpb24gPT0gJyonKSAkcmVzdWx0ID0gJHJlc3VsdCAqICRudW1iZXI7CiAgICAgICAgaWYgKCRvcGVyYXRpb24gPT0gJy8nKSAkcmVzdWx0ID0gJHJlc3VsdCAvICRudW1iZXI7CiAgICAgICAgLy/Qn9C+0YHQu9C1INCy0YvQv9C+0LvQvdC10L3QuNGPINC00LXQudGB0YLQstC40Y8g0L7QsdC90YPQu9GP0LXQvCAkbnVtYmVyINC4INC/0YDQuNGB0LLQsNC40LLQsNC10LwgJG9wZXJhdGlvbiDQvdC+0LLQvtC1INC30L3QsNGH0LXQvdC40LUKICAgICAgICAkbnVtYmVyID0gMDsKICAgICAgICAkb3BlcmF0aW9uID0gJHN5bWJvbDsKICAgIH0KICAgIC8v0JXRgdC70LggJHN5bWJvbCAtINC30L3QsNC6INGA0LDQstC90L4sINCy0YvQstC+0LTQuNC8INGA0LXQt9GD0LvRjNGC0LDRgiDRgNCw0L3QtdC1INCy0YvQv9C+0LvQvdC10L3QvdGL0YUg0L7Qv9C10YDQsNGG0LjQuQogICAgaWYgKCRzeW1ib2wgPT0gJz0nKSB7CiAgICAgICAgZWNobygkcmVzdWx0KTsKICAgIH0KfQ==