PHP如果条件有或不工作
我这里有一个条件:PHP如果条件有或不工作,php,Php,我这里有一个条件: if($name != '' || $name != 0 || $name != "0"){ $where .= ' AND readyBuilt.home_title = "' . $name . '"'; } 我的此条件问题如果$name等于“0”,它仍然会将$where添加到我的$where变量中。如何解决这个问题?我想,你的意思是别的,试着用&而不是|试试这个 if ( !in_array($name, array('','0',0), true )
if($name != '' || $name != 0 || $name != "0"){
$where .= ' AND readyBuilt.home_title = "' . $name . '"';
}
我的此条件问题如果
$name
等于“0”,它仍然会将$where
添加到我的$where
变量中。如何解决这个问题?我想,你的意思是别的,试着用&
而不是|
试试这个
if ( !in_array($name, array('','0',0), true ) ) {
$where .= ' AND readyBuilt.home_title = "' . $name . '"';
}
如果这句话是真的: $name等于“0” 然后,该条件的计算结果为
true
:
$name != ''
因此,整个条件检查的计算结果为true
听起来您想使用&&
而不是|
:
if($name != '' && $name != 0 && $name != "0")
这样,只有满足所有三个条件,而不是仅满足一个条件时,整个条件才会计算为
true
。最佳解决方案是使用:
if(!empty($name))
仅使用此选项即可解决您的问题:
if($name){
//your condition
}
=代码>仅比较值,而不是可以使用的数据类型==代码>或使用!空($name)
而不是将其与“”和0.works进行比较,但是其他解决方案要优雅得多。