我有一些项目,每个项目都有一个规则,我想知道哪个项目与另一个项目匹配。
假设项目 1 具有规则 1,项目 2 具有规则 2:
规则1:
z and d and (y or u) and j
规则 2:
u or ((e or z) and (d or y))
如何检查这些项目是否匹配?
我有一些项目,每个项目都有一个规则,我想知道哪个项目与另一个项目匹配。
假设项目 1 具有规则 1,项目 2 具有规则 2:
规则1:
z and d and (y or u) and j
规则 2:
u or ((e or z) and (d or y))
如何检查这些项目是否匹配?
这是我从你的问题中得到的:
<?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.';
}?>
您创建一个真值表:对于输入变量的每个可能组合,计算两个规则的结果。如果它们为每个组合提供相同的值,则规则是相同的。
您可以将每个规则的结果分配给变量:
$rule1 = $z and $d and ($y or $u) and $j;
$rule2 = $u or (($e or $z) and ($d or $y));
两个$rule
变量现在都是true
或false
。
$itemsMatch = $rule1 === $rule2;