MathEvaluator
unknown
php
a year ago
820 B
10
Indexable
<?php
class MathEvaluator {
/**
* @param string $expression
* @return int
*/
public function evaluateExpression(string $expression): int {
preg_match_all('/(\d+|[+-])/', $expression, $tokens);
$tokens = $tokens[0];
$result = (int) $tokens[0];
for ($i = 1; $i < count($tokens); $i += 2) {
$operator = $tokens[$i];
$number = (int) $tokens[$i + 1];
if ($operator === '+') {
$result += $number;
} elseif ($operator === '-') {
$result -= $number;
}
}
return $result;
}
}
// Приклад використання:
$evaluator = new MathEvaluator();
$expression = "10 + 5 - 3 + 7";
echo $evaluator->evaluateExpression($expression); // Виведе 19
Editor is loading...
Leave a Comment