检查数字是否平衡(彼此之间)(PHP)

时间:2012-07-17 11:23:09

标签: php math numbers

我知道必须有100种方法可以做到这一点 - 但有人可以推荐'最好/最简单'的方法来检查三个整数变量是否在一个点之内。

$a = 1; $b = 2; $c = 1;

由于每个var在彼此的1个点内,所需的公式应该返回TRUE;

任何人都可以建议最好的功能/方法来做到这一点。提前致谢

3 个答案:

答案 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