fork download
  1. <?php
  2. $input = '-200 + 1=';
  3. echo "Было: $input...\n";
  4. preg_match_all('/([0-9]+)|(\+|\-|\*|\/|\=)/', $input, $array);
  5. $sum = $array[0][0];
  6. foreach ($array[0] as $key => $value)
  7. {
  8. if ($array[0][$key + 1] == '=')
  9. {
  10. echo "Стало: $sum";
  11. break;
  12. }
  13. else
  14. {
  15. $operand2 = $array[0][$key + 2];
  16. $operation = $array[0][$key + 1];
  17. switch ($operation)
  18. {
  19. case "+":
  20. $sum += $operand2;
  21. break;
  22. case "-":
  23. $sum -= $operand2;
  24. break;
  25. case "*":
  26. $sum *= $operand2;
  27. break;
  28. case "/":
  29. $sum /= $operand2;
  30. break;
  31. }
  32. }
  33. }
Success #stdin #stdout 0.02s 20568KB
stdin
Standard input is empty
stdout
Было: -200 + 1=...
Стало: 1