在数组中查找匹配或最接近的值

如何为给定的目标值搜索和查找数组中最接近的值?

假设我有这个示例数组:

array(0, 5, 10, 11, 12, 20)

例如,当我用目标值0搜索时,该函数应返回0;否则,该函数将返回0。当我搜索3时,它将返回5;当我搜索14时,它将返回12。

回答:

将您要搜索的数字作为第一个参数,将数字数组作为第二个参数:

function getClosest($search, $arr) {

$closest = null;

foreach ($arr as $item) {

if ($closest === null || abs($search - $closest) > abs($item - $search)) {

$closest = $item;

}

}

return $closest;

}

以上是 在数组中查找匹配或最接近的值 的全部内容, 来源链接: utcz.com/qa/418702.html

回到顶部