求教用tp做类似淘宝那种多级筛选用if语句控制发现传一两个字段还好控制,传三个字段以上就不好控制了,筛选出来的数据就不对了。有什么好的方法吗?
//多级筛选
$name=$_get[pid];
$brand=$_get[theme];
$carage=$_get[price];
echo $carage;
if($name=泵车 and $brand=三一){
$handmebuyinfo=m(handmebuyinfo);
$map['name']=$name;
$map['brand']=$brand;
//$map['carage']=$carage;
$row=$handmebuyinfo->where($map)->select();
dump($row);
}
if($name=='' or $brand=='' or $carage==''){
$handmebuyinfo=m(handmebuyinfo);
$map['name']=$name;
$map['brand']=$brand;
$map['carage']=$carage;
$map['_logic'] = 'or';
$row=$handmebuyinfo->where($map)->select();
dump($row);
}
------解决思路----------------------
$a = array(
'a' => 1,
'b' => '',
'c' => 0,
);
print_r(array_diff($a, array('')));
print_r(array_diff($a, array('', 0)));
array
(
[a] => 1
[c] => 0
)
array
(
[a] => 1
)
这样就不需要 if($name=='') 这样一个个判断了
