使用2个数组,检查有多少相同的元素

时间:2016-03-09 14:25:34

标签: php arrays

我有2个数组,例如:

$array1 = array('hello1', 'hello2', 'hello3');
$array2 = array('world1', 'world2', 'hello3');

如何计算这两个数组中出现的相同元素数量?所以在这种情况下,值为1

3 个答案:

答案 0 :(得分:2)

执行array_intersect(),然后调用count()元素数量:

    $values_in_all_arrays = array_intersect($array1, $array2);
    echo count($values_in_all_arrays);

尽可能使用php内置功能。<​​/ p>

答案 1 :(得分:0)

使用array_intersect()函数获取常用值

答案 2 :(得分:0)

尝试这个天真的代码:

$count = 0;
foreach($array1 as $val1) {
   foreach($array2 as $val2) {
      if ($val1 == $val2) {
         $count++;
      }
   }
}

我对PHP的了解不多。但循环遍历数组与其他语言相同。

编辑:我找到了以下方法:

$difference = array_diff($array1,$array2);
$count = count($difference);