PHP:具有不相等(!=)运算符的多个条件不起作用
希望你们大家都好。 我正在编写以下代码,其中我希望使用多个php if条件和多个not运算符(示例如下),但当我执行以下php代码时,它总是返回true(总是执行括号中的平均内容),即使没有条件为true。 我想问一下下面的代码有什么问题。是否有任何特定的语法或规则用于使用多个!=php条件中的运算符。我惊奇地发现,如果我使用以下代码替换!=运算符with==运算符它工作正常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!="
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'(条件为真)
,那么它将忽略所有剩余的条件这对我很有效,谢谢你的提示!