比较两个数组 PHP 的值


compare values of two arrays php

我有两个数组:

第一个:

array (size=6)
  0 => string '3' (length=1)
  1 => string '4' (length=1)
  2 => string '5' (length=1)
  3 => string '7' (length=1)
  4 => string '8' (length=1)
  5 => string '9' (length=1)

第二个:

array (size=3)
  0 => string '3' (length=1)
  1 => string '4' (length=1)
  2 => string '9' (length=1)

我需要比较这两个数组,并将匹配的值存储在另一个数组matching中。那些不匹配的应该存储在not_matching中。

我应该如何完成此操作?是否有可用于此目的的功能?

感谢您的帮助!

用于匹配http://www.w3schools.com/php/showphp.asp?filename=demo_func_array_intersect

$result=array_intersect($array1,$array2);
print_r($result,1);

对于不匹配http://www.w3schools.com/php/showphp.asp?filename=demo_func_array_diff

$result=array_diff($a1,$a2);
print_r($result);

对于自定义代码

$match_array = array();
$un_match_array = array();
foreach( $array1 as $arr )
{
  if( in_array($arr, $array2) )
  {
      $match_array[] = $arr;
  }
  else
  {
     $un_match_array[] = $arr;
  }
}
print_r($match_array,1);
print_r($un_match_array,1);

要获得匹配的结果: array_intersect()

https://php.net/array_intersect

要获得不匹配的结果: array_diff()

https://php.net/array_diff