首页 > 后端开发 > php教程 > 如何查找数组中最接近的值?

如何查找数组中最接近的值?

DDD
发布: 2024-11-26 21:49:14
原创
747 人浏览过

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];
登录后复制

可以执行以下搜索:

  • getClosest(0, $数组); // 返回 0
  • getClosest(3, $array); // 返回 5
  • getClosest(14, $array); // 返回 12

通过迭代数组并评估每个元素,该算法有效地找到与目标最接近的匹配值。

以上是如何查找数组中最接近的值?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板