【发布时间】:2018-11-23 16:01:28
【问题描述】:
我正在为一小段不想评估自己的代码苦苦挣扎:
$t = 5;
$s = "<=";
$r = 6;
var_dump($t.$s.$r);
这里的 var_dump 返回 "5<=6" 这是有道理的,但我只想告诉我 5 是否低于或等于 6 的布尔值。
我想知道除了使用eval() 或通过所有可能的运算符进行切换之外,是否还有其他方法可以获取此布尔值
提前致谢。
【问题讨论】:
-
输入将达到什么复杂度?只是算术吗?总是 2 个操作数?
-
是的,总是一个数字,一个运算符(=,>),另一个数字
-
您可能想研究Symfony's ExpressionLanguage component 之类的东西,它允许评估任意计算,但也可以处理清理/验证/等。
-
如果它总是
x op y,那么一个简单的switch是要做的事情,其他方法将是严重的矫枉过正。