ryangjchandler/mathexpr

一个用PHP编写的微型数学表达式评估器。

v0.1.0 2023-06-14 12:15 UTC

README

Latest Version on Packagist Tests Total Downloads

此包为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)。请参阅许可证文件以获取更多信息。