<?php
$problem = "123/14+234-34.5*2=";
preg_match_all("/[0-9]{1,}[.]?[0-9]{0,}/", $problem, $numbers); // массив чисел, использующихся в примере preg_match_all("#[+]|[-]|[*]|[/]#", $problem, $actions); // и массив действий с ними
foreach ($numbers[0] as $value) {
if (preg_match("/[.]/", $value) > 0) { // если число содержит точку, используется тип float }
else {
$mixedNumbers[] = intval($value); }
}
for ($i = 0; $i < count($actions[0]); $i++) { if ($i == 0) {
$result = $mixedNumbers[0];
}
echo "Первое число: $result" . " Действие: " . "[ " . $actions[0][$i] . " ]" . " Второе число: " . $mixedNumbers[$i+1];
if ($actions[0][$i] == "/") {
$result = $result / $mixedNumbers[$i+1];
}
elseif ($actions[0][$i] == "*") {
$result = $result * $mixedNumbers[$i+1];
}
elseif ($actions[0][$i] == "+") {
$result = $result + $mixedNumbers[$i+1];
}
else {
$result = $result - $mixedNumbers[$i+1];
}
echo " Равно: $result\n";
}
echo "$problem" . $result;
PD9waHAKCiRwcm9ibGVtID0gIjEyMy8xNCsyMzQtMzQuNSoyPSI7CgokbnVtYmVycyA9IGFycmF5KCk7CiRhY3Rpb25zID0gYXJyYXkoKTsKcHJlZ19tYXRjaF9hbGwoIi9bMC05XXsxLH1bLl0/WzAtOV17MCx9LyIsICRwcm9ibGVtLCAkbnVtYmVycyk7IC8vINC80LDRgdGB0LjQsiDRh9C40YHQtdC7LCDQuNGB0L/QvtC70YzQt9GD0Y7RidC40YXRgdGPINCyINC/0YDQuNC80LXRgNC1CnByZWdfbWF0Y2hfYWxsKCIjWytdfFstXXxbKl18Wy9dIyIsICRwcm9ibGVtLCAkYWN0aW9ucyk7ICAgICAgICAvLyDQuCDQvNCw0YHRgdC40LIg0LTQtdC50YHRgtCy0LjQuSDRgSDQvdC40LzQuAoKZm9yZWFjaCAoJG51bWJlcnNbMF0gYXMgJHZhbHVlKSB7CiAgICBpZiAocHJlZ19tYXRjaCgiL1suXS8iLCAkdmFsdWUpID4gMCkgeyAvLyDQtdGB0LvQuCDRh9C40YHQu9C+INGB0L7QtNC10YDQttC40YIg0YLQvtGH0LrRgywg0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINGC0LjQvyBmbG9hdAogICAgICAgICRtaXhlZE51bWJlcnNbXSA9IGZsb2F0dmFsKCR2YWx1ZSk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICAkbWl4ZWROdW1iZXJzW10gPSBpbnR2YWwoJHZhbHVlKTsKICAgIH0KfQoKZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJGFjdGlvbnNbMF0pOyAkaSsrKSB7CiAgICBpZiAoJGkgPT0gMCkgewogICAgICAgICRyZXN1bHQgPSAkbWl4ZWROdW1iZXJzWzBdOwogICAgfQogICAgZWNobyAi0J/QtdGA0LLQvtC1INGH0LjRgdC70L46ICRyZXN1bHQiIC4gIiDQlNC10LnRgdGC0LLQuNC1OiAiIC4gIlsgIiAuICRhY3Rpb25zWzBdWyRpXSAuICIgXSIgLiAiINCS0YLQvtGA0L7QtSDRh9C40YHQu9C+OiAiIC4gJG1peGVkTnVtYmVyc1skaSsxXTsKICAgIGlmICgkYWN0aW9uc1swXVskaV0gPT0gIi8iKSB7CiAgICAgICAgJHJlc3VsdCA9ICRyZXN1bHQgLyAkbWl4ZWROdW1iZXJzWyRpKzFdOwogICAgfQogICAgZWxzZWlmICgkYWN0aW9uc1swXVskaV0gPT0gIioiKSB7CiAgICAgICAgJHJlc3VsdCA9ICRyZXN1bHQgKiAkbWl4ZWROdW1iZXJzWyRpKzFdOwogICAgfQogICAgZWxzZWlmICgkYWN0aW9uc1swXVskaV0gPT0gIisiKSB7CiAgICAgICAgJHJlc3VsdCA9ICRyZXN1bHQgKyAkbWl4ZWROdW1iZXJzWyRpKzFdOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgJHJlc3VsdCA9ICRyZXN1bHQgLSAkbWl4ZWROdW1iZXJzWyRpKzFdOwogICAgfQogICAgZWNobyAiINCg0LDQstC90L46ICRyZXN1bHRcbiI7Cn0KCmVjaG8gIiRwcm9ibGVtIiAuICRyZXN1bHQ7