我必须检查"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)