denissimon/formula-parser
最新稳定版本:v2.7.2
Composer 安装命令:
composer require denissimon/formula-parser
包简介
Parsing and evaluating mathematical formulas given as strings.
README 文档
README
Formula Parser is a library for parsing and evaluating mathematical formulas given as strings.
Supports:
- Operators: +, -, *, /, ^
- Variables: x, y, z, a, b
- Numbers with decimal point '.'
- Numbers in E notation
- Constants: pi, e, Inf
- Functions: sqrt, abs, sin, cos, tan, log, exp
- Unlimited nested parentheses
- NaN (Not a Number)
Installation
Requires PHP 5.4 or higher.
To install with Composer:
composer require denissimon/formula-parser
Usage
require_once __DIR__ . '/vendor/autoload.php'; use FormulaParser\FormulaParser; $formula = '3*x^2 - 4*y + 3/y'; $precision = 2; // Number of digits after the decimal point try { $parser = new FormulaParser($formula, $precision); $parser->setVariables(['x' => -4, 'y' => 8]); $result = $parser->getResult(); // [0 => 'done', 1 => 16.38] } catch (\Exception $e) { echo $e->getMessage(), "\n"; }
The $precision parameter has a default of 4, and it's not required to specify:
$parser = new FormulaParser('3+4*2/(1-5)^8'); $result = $parser->getResult(); // [0 => 'done', 1 => 3.0001]
The initialized object $parser has the following methods:
setValidVariables($array) Overwrites default valid variables.
setVariables($array) Sets variables.
getResult() Returns an array [0 => v1, 1 => v2], where v1 is 'done' or 'error', and v2 is a computed result or validation error message, respectively.
getFormula() Returns the text of the formula passed to the constructor.
More usage examples can be found in tests/FormulaParserTest.php
License
Licensed under the MIT license
统计信息
- 总下载量: 281.15k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 81
- 点击次数: 3
- 依赖项目数: 3
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2026-01-04