PHP:将字符串计算为逻辑表达式并返回true或false

时间:2015-09-04 10:21:24

标签: php string recursion nodes logical-operators

我有一个包含数百个逻辑表达式的txt文件。 我想阅读每一个(到目前为止没问题),并能够递归地评估它,但我无法想办法。表达式有&&和==以及字符串和数字之间的比较。我不想使用eval,因为它不是明显推荐的,它在我的情况下不起作用。

实施例。假设我读了这两个字符串:

s = "a == alpha && b == beta || b == omega", or
s = "g >= 2 && f != gamma"

我想将它们分解为

($a == "alpha" && $b == "beta" || b == "omega")
($g >= 2 && f!= "gamma")

在if中使用它们,以便它返回TRUE或FALSE。我的问题不是替换变量,而是将它们作为逻辑表达式进行评估

有人可以帮我一把吗?

提前致谢, 克里斯蒂娜

1 个答案:

答案 0 :(得分:-2)

试试这个:

if( (($a == 'alpha' && $b == 'beta') || ($b == 'omega')) || ($g >= 2 && $f != 'gamma'))
{
    // returns true
}
else
{
    // returns false
}