MathEvaluator
unknown
php
a year ago
820 B
8
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