如何检查两个条件/规则是否匹配?

时间:2012-11-27 21:16:24

标签: php match conditional-statements logical-operators

我有一些项目,每个项目都有一个规则,我想知道哪个项目与另一个项目匹配。

假设第1项具有规则1而第2项具有规则2:

规则1:

z and d and (y or u) and j

规则2:

u or ((e or z) and (d or y))

如何检查这些项目是否匹配?

3 个答案:

答案 0 :(得分:0)

这是我从你的问题中得到的:

<?php
$rule1 = false;
$rule2 = false;

if($z && $d && ($y || $u) && $j){
    $rule1 = true;
}

if($u || (($e || $z) && ($d || $y))){
    $rule2 = true;
}

if($rule1==$rule2){
    echo 'These rules match.';
}else{
    echo 'These rules do not match.';
}?>

答案 1 :(得分:0)

您可以将每个规则的结果分配给变量:

$rule1 = $z and $d and ($y or $u) and $j;
$rule2 = $u or (($e or $z) and ($d or $y));

$rule个变量现在都是truefalse

$itemsMatch = $rule1 === $rule2;

答案 2 :(得分:0)

您创建一个真值表: 对于输入变量的每种可能组合,计算两个规则的结果。 如果他们为每个组合提供相同的值,则规则相同。