fork(1) download
  1. <?php
  2.  
  3. $input = '0.5/2=';
  4. $inputLength = mb_strlen($input);
  5.  
  6. $number = 0;
  7. $result = 0;
  8. $op = '';
  9.  
  10. for ($i = 0; $i < $inputLength; $i++) {
  11.  
  12. $char = mb_substr($input, $i, 1);
  13. if ($char == '+' || $char == '-' || $char == '*' || $char == '=' || $char == '/') {
  14. $number = floatval($number);
  15. if ($op == '') {
  16. $result = $number;
  17. } elseif ($op == '+') {
  18. $result += $number;
  19. } elseif ($op == '-') {
  20. $result -= $number;
  21. } elseif ($op == '*') {
  22. $result *= $number;
  23. } elseif ($op == '/') {
  24. $result /= $number;
  25. }
  26. if ($char == '=') {
  27. echo $input . $result;
  28. }
  29. $op = $char;
  30. $number = '';
  31. } elseif (is_numeric($char)) {
  32. $char = floatval($char);
  33. if ($number) {
  34. $number .= $char;
  35. } else {
  36. $number = $char;
  37. }
  38. } elseif ($char = '.') {
  39. $number .= '.';
  40. } else {
  41. echo "Неверный символ: $char \n";
  42. }
  43. }
Success #stdin #stdout 0.01s 20520KB
stdin
Standard input is empty
stdout
0.5/2=0.25