我正在编写以下代码,其中我想使用多个php if conditions
多个非运算符(示例如下)。
但是当我执行php code
之后,它总是返回true(括号中的平均内容总是在执行),甚至条件都是假的。
我想问下面的代码有什么问题,是否有使用多个!= operator in php conditions
的特定语法或规则?我很惊讶地发现,如果我使用!= operator
代替== operator
来使用以下代码,那么它的工作正常。
if( $ext!="exe" || $ext!="html" || $ext!="htm" || $ext!="js" || $ext!="iso" || $ext!="zip" || $ext!="rar" )
{ // ececk extension
echo $ext."extension";
}
else{
echo "not match";
}
等待您的回复。抱歉我的英语不好。
答案 0 :(得分:8)
更好的代码:
$allowed = array('jpeg','png');
if(in_array($ext,$allowed)){
echo "Correct";
}
else {
echo "Wrong";
}
答案 1 :(得分:1)
用户XOR运算符而不是OR作为或检查所有条件需要相同,而如果所有人都是相同的则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";
}
希望它会有所帮助