0
如何快速移除數組中相距很遠的元素。快速將數組中的元素從x數中分離出來
例如:
array(1, 3, 5, 8, 11, 15);
需要返回下面的原因,他們都超過5,如果你計算差值:
array(1, 8, 15);
這似乎應該是在PHP中的內置函數爲了這。但我很困惑。
如何快速移除數組中相距很遠的元素。快速將數組中的元素從x數中分離出來
例如:
array(1, 3, 5, 8, 11, 15);
需要返回下面的原因,他們都超過5,如果你計算差值:
array(1, 8, 15);
這似乎應該是在PHP中的內置函數爲了這。但我很困惑。
這沒有什麼內置的,但它是一件很容易完成的事情。
首先,排序你的數組,除非它已經排序。
sort($your_array);
用第一個元素初始化您的結果數組,然後迭代該數組。每次得到的值至少比先前的值大5時,將其添加到結果中並將之前的值重置爲該值。
$result[] = $previous = reset($your_array);
foreach ($your_array as $value) {
if ($value - $previous >= 5) {
$result[] = $previous = $value;
}
}
我有點困惑..你想保持number> = 5或者確切地說是什麼? –
保持彼此分開5或更多的數字。 –
一個簡單的循環會做到這一點?! – Rizier123