评估字符串

时间:2015-01-26 09:11:21

标签: php string boolean

我在字符串变量中分配了(true)或(false),如:

$chk="(true) or (false)";

现在我想评估字符串,如果字符串将评估为true或false,如上所述它应该返回false?

例如:

$chk1="(true) and (false)";

将返回false。

上述方法隐含在Web应用程序功能中,用户必须通过检查是否已清除其他级别来升级到下一级别。清除级别的方法结合了上述逻辑事实。

1 个答案:

答案 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);

改进了一些。