fork download
  1. <?php
  2.  
  3.  
  4.  
  5. $input = '243+6743-78*2=';
  6. $inputLength = mb_strlen($input);
  7.  
  8. $number = 0;
  9. $result = 0;
  10. $op = '';
  11.  
  12. for ($i = 0; $i < $inputLength; $i++) {
  13.  
  14. $char = mb_substr($input, $i, 1);
  15. if ($char == '*' || $char == '+' || $char == '-' || $char == '=') {
  16. echo "op=[$op], result = [$result], number = [$number], char = [$char]\n";
  17. intval($number);
  18. if ($op == '') {
  19. $result = $number;
  20. $number = 0;
  21. $op = $char;
  22. }
  23. if ($op == '+') {
  24. $result += $number;
  25. $number = 0;
  26. $op = $char;
  27. }
  28. if ($op == '-') {
  29. $result -= $number;
  30. $number = 0;
  31. $op = $char;
  32. }
  33. if ($op == '*') {
  34. $result *= $number;
  35. $number = 0;
  36. $op = $char;
  37. }
  38. if ($char == '=') {
  39. echo $input . $result;
  40. }
  41.  
  42. } elseif (is_numeric($char)) {
  43. $number = $number * 10 + $char;
  44. }else {
  45. echo 'Неверный символ: {$char}\n';
  46. }
  47. }
Runtime error #stdin #stdout #stderr 0.02s 82560KB
stdin
Standard input is empty
stdout
Standard output is empty
stderr
PHP Fatal error:  Uncaught Error: Call to undefined function mb_strlen() in /home/H14mmy/prog.php:7
Stack trace:
#0 {main}
  thrown in /home/H14mmy/prog.php on line 7