有没有办法缩短这个if语句条件?PHP

有没有办法缩短这个if语句条件?PHP,php,if-statement,conditional-statements,Php,If Statement,Conditional Statements,我只是简单地说一下,但是如果这个if语句中有很多条件,有没有办法缩短它呢 if(($post->id <= 37) || ($post->id == 42) || ($post->id == 44) || ($post->id == 45) || ($post->id == 46))){ //code here } 它将全部是id,但数字会有所不同,没有范围或旧/偶数只是随机数 有没有办法缩短它?如果id>18,则id始终大于4和12?如果id大于1

我只是简单地说一下,但是如果这个if语句中有很多条件,有没有办法缩短它呢

if(($post->id <= 37) || ($post->id == 42) || ($post->id == 44) || ($post->id == 45) || ($post->id == 46))){
    //code here
}
它将全部是id,但数字会有所不同,没有范围或旧/偶数只是随机数


有没有办法缩短它?

如果id>18,则id始终大于4和12?如果id大于18,则无需检查它是否大于4和12。。也许你可以提供一个你想做什么的函数示例?@samrap sorry之前只是随机设置的,我编辑了代码,但这会越来越多,因为有时候id不在序列中,如果你有多个==条件,你可以在_array->if$post->id id,array42,44,45,46中使用它们来缩短它们
if($post->id <= 37 || in_array( $post->id, array( 42,44,45,46)))