我必须检查“ id”是否在15个不同的值附近。...
if($value->id==1 or $value->id==2 or $value->id==3 or $value->id==4 etc etc....)
什么是更好/更短的方法?...
答案 0 :(得分:2)
我认为您可以使用数组和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)) {
}
答案 1 :(得分:2)
您有两种选择来检查多个条件
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;
}
}
答案 2 :(得分:0)
将该值保存在单独的数组中,然后检查
if( in_array($value->id, $idArray)