快速方法从数组中过滤掉x个数字的元素

时间:2017-02-17 19:30:10

标签: php arrays

如何快速删除数组中的元素< 5快速相互分开。

示例:

array(1, 3, 5, 8, 11, 15);
如果你计算差异,

需要返回以下原因它们超过5:

array(1, 8, 15);

这似乎应该是php中的内置函数。但我很困惑。

1 个答案:

答案 0 :(得分:1)

没有内置任何内容,但这是一件非常容易实现的事情。

首先,对数组进行排序,除非它已经排序。

sort($your_array);

使用第一个元素初始化结果数组,然后迭代数组。每次达到比前一个值至少大5的值时,将其添加到结果中并将之前的值重置为该值。

$result[] = $previous = reset($your_array);
foreach ($your_array as $value) {
    if ($value - $previous >= 5) {
        $result[] = $previous = $value;
    }
}