iserter/expression-evaluator

在不使用eval()函数的情况下,在PHP中评估字符串表达式

dev-master 2016-02-14 04:16 UTC

This package is auto-updated.

Last update: 2024-08-29 04:00:44 UTC


README

我在寻找表达式评估器,但找不到支持逻辑和比较运算符的。我从找到的gist中创建了此包。我很快将为Laravel 5.1编写服务提供商。

示例用法

$exEngine = new ExpressionEvaluator\Engine;

echo $exEngine->evalute('5 + 3 * 2');

// 输出 11

示例评估

5 + 3 * 2

11

(1 > 2 AND 3 < 2) OR 1+2 == 3

0

(3 > 2) AND (3 < 5)

1

(1 > 2) OR (3 < 5)

1

(1 > 2) OR (6 > 5)

1

(1 > 2) OR (6 < 5)

0

1 + 2 == 3

1

2 < 1 + 2

2

(2 < 1) + 2

2

((2 < 1) + 2) == 2

1

-8/-2

4

-8/2

-4

-8/-2 + 15 * 1

19

灵感来源于并在此基础上开发 https://gist.github.com/ircmaxell/1232629