我在字符串变量中分配了(true)或(false),如:
$chk="(true) or (false)";
现在我想评估字符串,如果字符串将评估为true或false,如上所述它应该返回false?
例如:
$chk1="(true) and (false)";
将返回false。
上述方法隐含在Web应用程序功能中,用户必须通过检查是否已清除其他级别来升级到下一级别。清除级别的方法结合了上述逻辑事实。
答案 0 :(得分:1)
尝试详尽的方法。这是最简单的。
$chk = "(false) or (false)";
preg_match('/\((true|false)\)\s(or|and)\s\((true|false)\)/i', $chk, $res);
if (empty($res)) die('Error string!');
if (strtolower($res[1]) == 'true') $a = TRUE;
if (strtolower($res[1]) == 'false') $a = FALSE;
if (strtolower($res[3]) == 'true') $b = TRUE;
if (strtolower($res[3]) == 'false') $b = FALSE;
if (strtolower($res[2]) == 'or') var_dump($a or $b);
if (strtolower($res[2]) == 'and') var_dump($a and $b);
改进了一些。