MySQL⼀个类型多个字段条件处理判断$filter = $data['filter'];//客户端传过来的字段值类型字符串,例如:1,2,3
$arrayFilter = explode(',',$filter); //把字符串转化为数组
$auction = []; //定义⼀个数组,因为后⾯1,2的类型是⼀个字段条件查询
foreach($arrayFilter as $k=>$v){ //不管是哪⼀种组合都进相对于的条件
if($v ==1){$auction[$k] = 1;}
elseif($v ==2){$auction[$k] = 0;}
elseif($v ==3){$where['over_time'] = ['lt',date('Y-m-d H:i:s',time())];} //对时间条件查询
else{}
}
if(!empty($auction)){ //⾮空判断
$where['is_auction'] = ['in',implode(',',$auction)]; //给不同类型数据库不同字段进⾏条件处理
}
思路:
把字符串转换成数组,再进⾏遍历,判断出对应的类型并在处理类型对应的判断,对同种类型⽤⼀个变量接收再进⾏处理
⽤到过的函数
explode(); 将字符串转换数组
implode(); 将数组分解成字符串
empty(); 检测变量是否为空mysql 字符串转数组
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论