PHP:许多IF条件比较



我必须检查"id"是否是大约15个不同的值......

if($value->id==1 or $value->id==2 or $value->id==3 or $value->id==4 etc etc....)

有什么更好/更短的方法可以做到这一点....

您有两个选项来检查多个条件

1

echo in_array($var, array('abc', 'def', 'hij', 'klm', 'nop'))? 'yes': 'no';

阿拉伯数字

 $test_array = ('test1','test2', 'test3','test4');
    for($i = 0; $i < count($test_array); $i++){
       if($test_value == $test_array[$i]){
           $ret_val = true;
           break;
       }
       else{
           $ret_val = false;
       }
    }

我认为您可以使用数组和in_array方法:

$acceptableValues = [1, 2, 3, 4, 5];
if (in_array($value->id, $acceptableValues)) {
}

您始终可以通过将第三个参数指定为 true 来强制严格验证,这意味着值的值和类型需要相同:

$acceptableValues = [1, 2, 3, 4, 5];
if (in_array((int) $value->id, $acceptableValues, true)) {
}

将该值保存在单独的数组中并检查

if( in_array($value->id, $idArray)

最新更新