fork(2) download
  1. <?php
  2.  
  3. $input = '2+2*2-2=';
  4. $inputLenght = strlen($input);
  5.  
  6. $number = 0;
  7. $result = 0;
  8. $op = '';
  9.  
  10.  
  11. for($i = 0; $i < $inputLenght; $i++) {
  12. $char = substr($input, $i, 1);
  13. if($char == '*' || $char == '+' || $char == '-' ||$char == '=') {
  14. $timeOP = $op; //Создаёт временную переменную в случае, если char операция
  15. $op = $char;
  16. if($timeOP == '*') { //Выполянет операцию над результатом и цифрой
  17. $result = $result * $number;
  18. }
  19. elseif($timeOP == '+') {
  20. $result = $result + $number;
  21. }
  22. elseif($timeOP == '-') {
  23. $result = $result - $number;
  24. }
  25.  
  26. elseif($timeOP == '=') { //Если операция =, то выводит результат, выполнив операцию
  27. if($op == '*') {
  28. $result = $result * $number;
  29. }
  30. elseif($op == '+') {
  31. $result = $result + $number;
  32. }
  33. elseif($op == '-') {
  34. $result = $result - $number;
  35. }
  36. echo $result;
  37. exit; //Если операция =, то выводит результат, выполнив операцию
  38. }
  39. }
  40.  
  41. elseif (is_numeric($char)) { //переводит строку в число и собирает номер
  42. $z = intval($char);
  43. $number = $number * 10;
  44. $number = $number + $z;
  45. }
  46. }
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
Success #stdin #stdout 0.03s 23708KB
stdin
Standard input is empty
stdout
Standard output is empty