首頁  >  文章  >  後端開發  >  如何找出數組中最接近的值?

如何找出數組中最接近的值?

DDD
DDD原創
2024-11-26 21:49:14714瀏覽

How to Find the Closest Value in an Array?

數組中最接近的值匹配

給定一個值數組和一個目標值,一個常見的要求是檢索最接近的匹配值在數組中。在處理不精確的資料或無法獲得精確匹配時,這特別有用。

解決方案:

要確定最接近的匹配值,請使用迭代搜尋演算法可以就業。以下是實作此方法的 PHP 函數:

function getClosest($search, $arr) {
    $closest = null;
    foreach ($arr as $item) {
        if ($closest === null || abs($search - $closest) > abs($item - $search)) {
            $closest = $item;
        }
    }
    return $closest;
}

該函數透過迭代地將目標值與陣列中的每個元素進行比較來進行操作。它維護一個 $closest 變數來追蹤遇到的最接近的匹配值。對於每次比較,它都會計算目標和當前陣列元素之間的絕對差。如果差異小於先前記錄的差異,則會更新 $closest 變數。

範例:

使用提供的範例陣列:

$array = [0, 5, 10, 11, 12, 20];

可以執行下列搜尋:

    Clo (0, $數組); // 返回0
  • getClosest(3, $array); // 回傳5
  • getClosest(14, $array); // 回傳12
透過迭代數組並回傳12

透過迭代數組並傳回評估每個元素,演算法有效地找到與目標最接近的匹配值。

以上是如何找出數組中最接近的值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn