fork(1) download
  1. <?php
  2.  
  3.  
  4.  
  5. $strInput = "34-66+32=";
  6. $length = strlen($strInput);
  7. $number = 0;
  8. $result = 0;
  9. $op = '';
  10.  
  11. function action($op, $int1, $int2) {
  12. $result = 0;
  13. if ($op == "+") {
  14. $result = $int1 + $int2;
  15. } elseif ($op == "-") {
  16. $result = $int1 - $int2;
  17. } elseif ($op == "*") {
  18. $result = $int1 * $int2;
  19. }
  20. return $result;
  21. }
  22.  
  23.  
  24. for ($i = 0; $i < $length; $i++) {
  25. $char = mb_substr($strInput, $i, 1);
  26. if (is_numeric($char) && $op == '') {
  27.  
  28. $result = (($result * 10) + intval($char));
  29.  
  30. }
  31.  
  32. elseif (is_numeric($char)) {
  33. $number = (($number * 10) + intval($char));
  34. var_dump($number);
  35.  
  36. }
  37.  
  38. elseif ($char == '*' || $char == '+' || $char == '-') {
  39. if ($op == '') {
  40. $op = $char;
  41. } else {
  42. $result = action($char, $result, $number);
  43. echo "result is {$result}";
  44. $op = $char;
  45. $number = 0;
  46. }
  47. }
  48.  
  49. elseif ($char == '=') {
  50. $result = action($op, $result, $number);
  51. echo $result;
  52. exit();
  53.  
  54. }
  55.  
  56. else {
  57. echo "Wrong symbol: {$char} \n";
  58.  
  59. }
  60. }
Success #stdin #stdout 0.01s 52488KB
stdin
Standard input is empty
stdout
int(6)
int(66)
result is 100int(3)
int(32)
132