我有这个条件:
if($name != '' || $name != 0 || $name != "0"){
$where .= ' AND readyBuilt.home_title = "' . $name . '"';
}
如果$name
等于" 0"我遇到这种情况的问题它仍会将$where
添加到我的$where
变量中。我该如何解决这个问题?
答案 0 :(得分:3)
我认为,您的意思是其他内容,请尝试使用&&
代替||
答案 1 :(得分:3)
好吧,如果这句话是真的:
$ name等于“0”
然后这个条件评估为true
:
$name != ''
因此,整个条件检查的结果为true
。
听起来您想使用&&
代替||
:
if($name != '' && $name != 0 && $name != "0")
这样,只有满足所有三个条件,而不是只有一个条件,整个条件才会评估为true
。
答案 2 :(得分:2)
最佳解决方案是使用:
if(!empty($name))
答案 3 :(得分:2)
使用它可以解决您的问题:
if($name){
//your condition
}
答案 4 :(得分:1)
试试这个
if ( !in_array($name, array('','0',0), true ) ) {
$where .= ' AND readyBuilt.home_title = "' . $name . '"';
}