首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在php中按位置和值匹配两个数组

在php中按位置和值匹配两个数组
EN

Stack Overflow用户
提问于 2015-11-07 18:19:37
回答 1查看 614关注 0票数 1

假设我有两个大小相同的数组。例如:

代码语言:javascript
运行
复制
array1 = array(5, 8, 6, 4);
array2 = array(5, 8, 7, 8);

我需要知道它们之间在百分比上的匹配。但必须通过位置和值进行匹配。在这个例子中,匹配的是array[0]array[1],所以我需要50%的匹配。

如果我想把它复杂化一点,我可以说如果array1[2]array2[2]之间的差小于1 (7-6=1),那么百分比应该是52%,因为6和7几乎是一样的。

我需要这个,因为我想在我的网站上比较2个用户的速率,用户可以评分电影,我想告诉他们,user1的速率有60%的匹配用户2的速率(在同一部电影)。

EN

回答 1

Stack Overflow用户

发布于 2015-11-07 18:31:50

您可以遍历这两个数组并比较每对元素:

代码语言:javascript
运行
复制
function compareArrays($arr1, $arr2, $diffThreshold) {
    # Assumption: both arrays are the same length.
    # If this isn't a valid assumption, take the length of the shortest
    $length = count($arr1);
    $ctr = 0;
    for ($i = 0; $i < $length; ++$i) {
        if (abs($arr1[i] - $arr2[i]) <= $diffThreshold) {
            ++$ctr;
        }
    }
    return $ctr / $length;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33581565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档