如何检查整数是否在某个范围内?

2022-08-30 08:28:13

有没有办法在不执行此冗余代码的情况下测试范围:

if ($int>$min && $int<$max)

?

像一个函数:

function testRange($int,$min,$max){
    return ($min<$int && $int<$max);
}

用法:

if (testRange($int,$min,$max)) 

?

PHP有这样的内置功能吗?还是任何其他方法?


答案 1

通过1000000次循环测试了3种方式。

t1_test1: : 0.3823 ms($val >= $min && $val <= $max)

t2_test2: : 9.3301 ms(in_array($val, range($min, $max))

t3_test3: : 0.7272 ms(max(min($var, $max), $min) == $val)

T1是最快的,基本上是这样的:

function t1($val, $min, $max) {
  return ($val >= $min && $val <= $max);
}

答案 2

我不认为你会得到比你的功能更好的方法。

它干净,易于遵循和理解,并返回条件的结果(没有混乱)。return (...) ? true : false


推荐