PHP:具有不相等(!=)运算符的多个条件不起作用

PHP:具有不相等(!=)运算符的多个条件不起作用,php,if-statement,conditional-operator,Php,If Statement,Conditional Operator,希望你们大家都好。 我正在编写以下代码,其中我希望使用多个php if条件和多个not运算符(示例如下),但当我执行以下php代码时,它总是返回true(总是执行括号中的平均内容),即使没有条件为true。 我想问一下下面的代码有什么问题。是否有任何特定的语法或规则用于使用多个!=php条件中的运算符。我惊奇地发现,如果我使用以下代码替换!=运算符with==运算符它工作正常 if( $ext!="exe" || $ext!="html" || $ext!="htm" || $ext!="

希望你们大家都好。 我正在编写以下代码,其中我希望使用多个php if条件和多个not运算符(示例如下),但当我执行以下php代码时,它总是返回true(总是执行括号中的平均内容),即使没有条件为true。 我想问一下下面的代码有什么问题。是否有任何特定的语法或规则用于使用多个!=php条件中的运算符。我惊奇地发现,如果我使用以下代码替换!=运算符with==运算符它工作正常

if( $ext!="exe" || $ext!="html" ||  $ext!="htm"  ||  $ext!="js" ||  $ext!="iso" ||  $ext!="zip"  ||  $ext!="rar" )
{ // ececk extension
    echo $ext."extension";

}
else{
    echo "not match";   
}
等待您的回复。很抱歉我的英语不好。

更好的代码:

$allowed = array('jpeg','png');

if(in_array($ext,$allowed)){
  echo "Correct";
}
else {
 echo "Wrong";
}

用户XOR运算符而不是OR as或checked all条件需要相同,而如果all中的任何一个条件相同,则XOR返回true:

  if(!($ext!=="exe") xor ($ext=="html")){ //Add more conditions
    //each condition in new brackets & ! sign in start before all conditions

 { // ececk extension
                echo $ext."extension";

            }
            else{
                echo "not match";   
            }

如果您使用
或(| |)
条件意味着它将逐个检查条件,希望它将有所帮助。如果您的扩展名
$ext='jpg'
表示它不等于
$ext!='exe'(条件为真)
,那么它将忽略所有剩余的条件这对我很有效,谢谢你的提示!