如何检查所有数组值是否在范围内是最好的方法?检查所有数组值是否在一个范围内的最佳方法
例如:
$range = range(10, 40);
$array1 = array(10, 20, 40); // OK
$array2 = array(11, 22, 42, 30); // FALSE
$array3 = array(50); // OK
$array4 = array(10, 20, 30, 'a'); // FALSE
$array5 = array("%", 20); // FALSE
$array6 = array(10, 20, 40, 39, 40); // OK
因此,如何能予检查是否数组的值是数字(整数),并且在范围内?
我想:
$tmp = 0;
foreach ($array1 as $a1) {
if (!in_array($a1, $range) && is_int($a1)) {
$tmp++;
}
}
if ($tmp > 0) {
echo "false";
} else {
echo "ok";
}
也许是更好的办法?也许与array_map()
?
所以,你已经尝试了什么? –
'min'函数将为您提供所有阵列的最小值。 max函数会给你所有数组的最大值。你可以看到'min($ a1,$ a2,$ a3)<10'来检查下界并为上界做类似的事情。 – kainaw
1和2不是10到40之间,也不是5等等,所以你的例子与描述不符。 – AbraCadaver