- <?php 
-   
-   
- $input = '2-2*4='; 
-   
- $number = 0; 
- $result = 0; 
- $op = ''; 
-   
- // Находит числа любой длины, в том числе дроби или знаки арифметических операций 
- if (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; 
- 			} 
- 			$number = 0; 
-   
- 		} else { 
-   
- 			// Определяет переменную с десятичной дробью и задает ей тип double, остальным integer 
-   
- 			switch ($op) { 
- 				case '-': 
- 					$result -= $number; 
- 					break; 
- 				case '+': 
- 					$result += $number; 
- 					break; 
- 				case '*': 
- 					$result *= $number; 
- 					break; 
- 				case '/': 
- 					$result /= $number; 
- 					break; 
- 			} 
-   
- 		} 
-   
- 		if ($op == '=') { 
- 		} 
-   
- 	} 
-   
- } 
-   
- echo "Что-то пошло не так... Выражение пустое или с опечаткой, попробуйте снова."; 
				PD9waHAKCmVycm9yX3JlcG9ydGluZygtMSk7CgokaW5wdXQgPSAnMi0yKjQ9JzsKCiRudW1iZXIgPSAwOwokcmVzdWx0ID0gMDsKJG9wID0gJyc7CgovLyDQndCw0YXQvtC00LjRgiDRh9C40YHQu9CwINC70Y7QsdC+0Lkg0LTQu9C40L3Riywg0LIg0YLQvtC8INGH0LjRgdC70LUg0LTRgNC+0LHQuCDQuNC70Lgg0LfQvdCw0LrQuCDQsNGA0LjRhNC80LXRgtC40YfQtdGB0LrQuNGFINC+0L/QtdGA0LDRhtC40LkKaWYgKHByZWdfbWF0Y2hfYWxsKCcvXGQrXC4/XGQqfFtcK1wtXCpcL1w9XS8nLCAkaW5wdXQsICRudW1iZXJzQW5kT3BlcmF0aW9ucykpIHsKCglmb3JlYWNoICgkbnVtYmVyc0FuZE9wZXJhdGlvbnNbMF0gYXMgJGNoYXJzKSB7CgoJCWlmICgkY2hhcnMgPT0gJy0nIG9yICRjaGFycyA9PSAnKycgb3IgJGNoYXJzID09ICcqJyBvciAkY2hhcnMgPT0gJy8nIG9yICRjaGFycyA9PSAnPScpIHsKCgkJCSRvcCA9ICRjaGFyczsKCQkJaWYgKCEkcmVzdWx0KSB7CgkJCQkkcmVzdWx0ID0gJG51bWJlcjsKCQkJfQoJCQkkbnVtYmVyID0gMDsKCgkJfSBlbHNlIHsKCgkJCS8vINCe0L/RgNC10LTQtdC70Y/QtdGCINC/0LXRgNC10LzQtdC90L3Rg9GOINGBINC00LXRgdGP0YLQuNGH0L3QvtC5INC00YDQvtCx0YzRjiDQuCDQt9Cw0LTQsNC10YIg0LXQuSDRgtC40L8gZG91YmxlLCDQvtGB0YLQsNC70YzQvdGL0LwgaW50ZWdlcgoJCQkkbnVtYmVyID0gKHByZWdfbWF0Y2goJy9cZCtcLlxkKy8nLCAkY2hhcnMpKSA/IGZsb2F0dmFsKCRjaGFycykgOiBpbnR2YWwoJGNoYXJzKTsKCgkJCXN3aXRjaCAoJG9wKSB7CgkJCQljYXNlICctJzoKCQkJCQkkcmVzdWx0IC09ICRudW1iZXI7CgkJCQkJYnJlYWs7CgkJCQljYXNlICcrJzoKCQkJCQkkcmVzdWx0ICs9ICRudW1iZXI7CgkJCQkJYnJlYWs7CgkJCQljYXNlICcqJzoKCQkJCQkkcmVzdWx0ICo9ICRudW1iZXI7CgkJCQkJYnJlYWs7CgkJCQljYXNlICcvJzoKCQkJCQkkcmVzdWx0IC89ICRudW1iZXI7CgkJCQkJYnJlYWs7CgkJCX0KCgkJfQoKCQlpZiAoJG9wID09ICc9JykgewoJCQllY2hvIHJvdW5kKCRyZXN1bHQsIDIpOwoJCQlleGl0KCk7CgkJfQoKCX0KCn0KCmVjaG8gItCn0YLQvi3RgtC+INC/0L7RiNC70L4g0L3QtSDRgtCw0LouLi4g0JLRi9GA0LDQttC10L3QuNC1INC/0YPRgdGC0L7QtSDQuNC70Lgg0YEg0L7Qv9C10YfQsNGC0LrQvtC5LCDQv9C+0L/RgNC+0LHRg9C50YLQtSDRgdC90L7QstCwLiI7