ryangjchandler / mathexpr
一个用PHP编写的微型数学表达式评估器。
v0.1.0
2023-06-14 12:15 UTC
Requires
- php: ^8.1
- ryangjchandler/lexical: ^0.1.1
Requires (Dev)
- laravel/pint: ^1.2
- pestphp/pest: ^1.20
- spatie/ray: ^1.28
- symfony/var-dumper: ^6.3
This package is auto-updated.
Last update: 2024-09-09 17:36:43 UTC
README
此包为PHP中的数学表达式提供了一个小型的评估器。
安装
您可以通过Composer安装此包
composer require ryangjchandler/mathexpr
使用方法
use RyanChandler\Mathexpr\Evaluator; $evaluator = new Evaluator(); $result = $evaluator->eval('1 + 2'); // -> (int) 3
运算符
Mathexpr支持以下运算符
+
-
*
/
%
函数
Mathexpr默认提供一组有用的数学函数,可以在表达式中调用。
$evaluator->eval('sum(1, 2, 3)')
您也可以通过自定义函数扩展默认集。
$evaluator->addFunction('clamp', function (int|float $subject, int|float $min, int|float $max): int|float { return max($min, min($max, $subject)); }); $evaluator->eval('clamp(200, 10, 100)'); // -> (int) 100
变量
Mathexpr也支持变量。
$evaluator->addVariable('a', 1); $evaluator->addVariable('b', 2); $evaluator->eval('a + b'); // -> (int) 3
常量
默认情况下,也提供了一组常见的数学常量
pi
/PI
tau
/TAU
e
/E
测试
composer test
变更日志
请参阅变更日志以了解最近的变化。
贡献
请参阅贡献指南以获取详细信息。
安全漏洞
请查看我们的安全策略以了解如何报告安全漏洞。
鸣谢
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。