<?php
$example = '4*10+3-50+22/2='; //то, что будем считать
$number = 0; //цифра, которую будем формировать
$char = 'none'; //знак, который мы вытащили сейчас
$op = 'none'; //знак, который был в прошлый раз
$result = 0;
for ($i=0; ; $i++) {
$getSingleOne = substr($example, $i, 1); //вынимаем по очереди каждый элемент из строки
$number = ($number * 10) + intval($getSingleOne); } else {
$char = $getSingleOne;
break;
$result += $number;
$result -= $number;
$result /= $number;
$result *= $number;
}
$number = 0;
$op = $char;
}
}
echo "{$example} {$result}";
?>
PD9waHAKCiRleGFtcGxlID0gJzQqMTArMy01MCsyMi8yPSc7IC8v0YLQviwg0YfRgtC+INCx0YPQtNC10Lwg0YHRh9C40YLQsNGC0YwKJG51bWJlciA9IDA7IC8v0YbQuNGE0YDQsCwg0LrQvtGC0L7RgNGD0Y4g0LHRg9C00LXQvCDRhNC+0YDQvNC40YDQvtCy0LDRgtGMCiRjaGFyID0gJ25vbmUnOyAvL9C30L3QsNC6LCDQutC+0YLQvtGA0YvQuSDQvNGLINCy0YvRgtCw0YnQuNC70Lgg0YHQtdC50YfQsNGBCiRvcCA9ICdub25lJzsgLy/Qt9C90LDQuiwg0LrQvtGC0L7RgNGL0Lkg0LHRi9C7INCyINC/0YDQvtGI0LvRi9C5INGA0LDQtwokcmVzdWx0ID0gMDsJCgpmb3IgKCRpPTA7IDsgJGkrKykgeyAKCQoJJGdldFNpbmdsZU9uZSA9IHN1YnN0cigkZXhhbXBsZSwgJGksIDEpOyAvL9Cy0YvQvdC40LzQsNC10Lwg0L/QviDQvtGH0LXRgNC10LTQuCDQutCw0LbQtNGL0Lkg0Y3Qu9C10LzQtdC90YIg0LjQtyDRgdGC0YDQvtC60LgKCglpZiAoaXNfbnVtZXJpYygkZ2V0U2luZ2xlT25lKSkgewoJCSRudW1iZXIgPSAoJG51bWJlciAqIDEwKSArIGludHZhbCgkZ2V0U2luZ2xlT25lKTsKCX0gZWxzZSB7CgkJJGNoYXIgPSAkZ2V0U2luZ2xlT25lOwoKCSAgICBpZiAocHJlZ19tYXRjaCgnLz0vJywgJG9wKSA9PSBUUlVFKSB7CgkgICAgCWJyZWFrOwoJICAgIH0gZWxzZWlmIChwcmVnX21hdGNoKCcvWytdLycsICRvcCkgPT0gVFJVRSB8fCBwcmVnX21hdGNoKCcvbm9uZS8nLCAkb3ApID09IFRSVUUpIHsKCSAgICAJICRyZXN1bHQgKz0gJG51bWJlcjsKCSAgICB9IGVsc2VpZiAocHJlZ19tYXRjaCgnLy0vJywgJG9wKSA9PSBUUlVFKSB7CgkgICAgCSAkcmVzdWx0IC09ICRudW1iZXI7CgkgICAgfSBlbHNlaWYgKHByZWdfbWF0Y2goJy9cLy8nLCAkb3ApID09IFRSVUUpIHsKCSAgICAJJHJlc3VsdCAvPSAkbnVtYmVyOwoJICAgIH0gZWxzZWlmIChwcmVnX21hdGNoKCcvWypdLycsICRvcCkgPT0gVFJVRSkgewoJICAgIAkkcmVzdWx0ICo9ICRudW1iZXI7CgkgICAgfQoKCQkkbnVtYmVyID0gMDsKCQkkb3AgPSAkY2hhcjsKCX0KfQoKZWNobyAieyRleGFtcGxlfSB7JHJlc3VsdH0iOwo/Pg==