在PHP中使用OR比较两个字符串

时间:2019-04-30 05:42:31

标签: php

我正在尝试比较两个字符串,而且我在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后删除代码,则效果很好。

谢谢!

1 个答案:

答案 0 :(得分:2)

您需要以andor来加入条件:

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