PHP:在数组

时间:2015-08-03 13:04:09

标签: php arrays numbers

我有一个这样的数组:102, 97, 101, 1, 107, 95, 555。 我需要排除与其他数字非常不同的数字。所以数组应该是:102, 97, 101, 107, 95。 我怎么能在PHP中做到这一点?

2 个答案:

答案 0 :(得分:1)

function getAverageArray($min, array $arr){
    $arr2 = array($arr[0]);
    foreach(array_slice($arr,1) as $val)
        if ($val - $arr[0] < $min && $arr[0] - $val < $min)
            $arr2[] = $val;
    return $arr2;
}

//the minimum difference necessary
$min = 90;
$arr = array(102, 97, 101, 1, 107, 95, 555);

//Array ( [0] => 102 [2] => 97 [3] => 101 [4] => 107 [5] => 95 )
print_r(getAverageArray($min,$arr));

答案 1 :(得分:0)

这是可能的,但您必须设置阈值。

  1. 获取所有值的平均值

  2. 排除`abs(value-avergage)&gt;的值your_threshold``