首页 > 解决方案 > 如何在 PHP 中根据匹配值和顺序比较两个数组?

问题描述

我有 2 个数组,我想通过匹配值以及符合条件的总值的顺序和计数来比较它们。

$a = [A,B,C,D,E,F,G];
          | |     |
$b = [B,A,C,D,F,E,G];

在这种情况下,输出应该是3。我怎样才能以最佳性能实现这一目标?

更新:

我不是只要求匹配的值,值也应该以相同的顺序匹配。

标签: php

解决方案


Array_diff_assoc 将计算不同的部分 (4)。
Count 将计算项目的数量 (7)。
7-4 = 3。

echo count($a) - count(array_diff_assoc($a,$b)); // 3

https://3v4l.org/OIknS

编辑或只是 array_intersect_assoc

echo count(array_intersect_assoc($a,$b)); //3

直到现在我才想到。


推荐阅读