我知道必须有100种方法可以做到这一点 - 但有人可以推荐'最好/最简单'的方法来检查三个整数变量是否在一个点之内。
$a = 1; $b = 2; $c = 1;
由于每个var在彼此的1个点内,所需的公式应该返回TRUE;
任何人都可以建议最好的功能/方法来做到这一点。提前致谢
答案 0 :(得分:4)
以为我会在这里加倍努力
function scope_check()
{
// usage: bool scope_check(mixed $range, mixed $val1 [, mixed $val2 [,mixed $...]])
$array=func_get_args();
if(sizeof($array)<=1) return false;
$range=array_shift($array);
$max=max($array);
$min=min($array);
if($max-$min<=$range) return true;
return false;
}
$valid=scope_check(1, -10, -11, -12, 4, 5 ,7);
if($valid) echo 'valid'; else echo 'not valid';
答案 1 :(得分:1)
function scope_check()
{
$array=func_get_args();
$max=max($array);
$min=min($array);
if($max-$min<=1) return true;
return false;
}
$valid=scope_check($a, $b, $c);
答案 2 :(得分:0)
您可以使用abs()
功能:
abs($a-$b) <= 1 && abs($a-$c) <= 1 && abs($b-$c) <= 1