比较动态数组

时间:2011-04-26 17:41:18

标签: php arrays

我想帮助完成比较两个数组的函数,并返回两者中相同元素的值。

$array1 = array("bob","mike","david","gary");
$array2 = array("susan","jenny","mike");

这两个数组每次都会有不同数量的元素。我运行下面的功能,它说有匹配,但不会告诉我哪些。如果数组没有相同数量的元素,我的函数也会工作吗?

echo  find_matches($array1,$array2);


function find_matches($mac1, $mac2){

   $matches = array();

   foreach($mac1 as $mac){
         if(in_array($mac, $mac2)){
            $matches[] = $mac;
         }
   }

    if ($matches != 0){

    $error_message = "The following numbers match: " . implode(' ', $matches);

    return $error_message;
    }else{
    return true;
    }
}

1 个答案:

答案 0 :(得分:10)

如果您希望返回匹配数和匹配项,可以使用array_intersect

$matches = array_intersect($array1, $array2);