Laravel中是否有替代多条件if的SQL IN等价写法?
Laravel中简化多条件OR判断的写法
你可以用以下几种方式替代繁琐的多||条件判断,实现类似SQL中IN的效果:
PHP原生
in_array()函数(最常用、简洁的方案)
直接通过原生函数判断变量是否存在于目标数组中:if (in_array($type, [1, 2, 3, 4])) { // 执行你的业务代码 }Laravel集合
contains()方法
如果你习惯Laravel的集合操作风格,可以将目标值转为集合后判断:if (collect([1, 2, 3, 4])->contains($type)) { // 执行你的业务代码 }PHP 8.1+
match表达式
若使用较高版本的PHP,也可以用match来实现条件匹配:if (match($type) { 1, 2, 3, 4 => true, default => false }) { // 执行你的业务代码 }
内容的提问来源于stack exchange,提问作者miftahulrespati
相关产品推荐
相关产品推荐

