iserter / expression-evaluator
在不使用eval()函数的情况下,在PHP中评估字符串表达式
dev-master
2016-02-14 04:16 UTC
Requires
- php: >=5.3.0
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