我正在尝试比较两个字符串,而且我在PHP中使用OR运算符
以下是代码:
<?php
$admintext= "Yes";
if(strcmp($admintext, 'Yes') != 0 or strcmp($admintext, 'No') != 0)
{
echo " Not perfect, Admin text doesn't have Yes OR No text";
}
else
{
echo " Perfect, Admin text has Yes or No";
}
?>
使用上面的代码,我总是不完美,不确定为什么吗?怎么了? -如果在删除OR后删除代码,则效果很好。
谢谢!
答案 0 :(得分:2)
您需要以and
或or
来加入条件:
if (strcmp($admintext, 'Yes') != 0 and strcmp($admintext, 'No') != 0) {
echo " Not perfect, Admin text doesn't have Yes OR No text";
}
else {
echo " Perfect, Admin text has Yes or No";
}
原因在于DeMorgan's logic laws。考虑表达式A or B
,其中A
代表是,而B
代表否:
A V B
!(A V B)
!A ^ !B