【问题标题】:compare values of two arrays php [duplicate]比较两个数组php的值[重复]
【发布时间】:2016-01-18 14:32:40
【问题描述】:

我有两个数组:

第一个:

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

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

感谢您的帮助!

【问题讨论】:

  • 您可以询问之前搜索。同一个问题有很多答案
  • 我确实搜索过它,但使用了错误的关键字。我最终得到了in_array...
  • 好的,没问题,但是在stackoverflow中很容易找到东西,而在Google中是最简单的!!
  • 它也适用于in_array。所以我的方向是正确的:)

标签: php arrays


【解决方案1】:

用于匹配 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);

【讨论】:

    【解决方案2】:

    获取匹配结果:array_intersect()

    https://php.net/array_intersect

    获取不匹配的结果:array_diff()

    https://php.net/array_diff

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-31
      • 2021-06-14
      • 1970-01-01
      • 2014-12-08
      • 1970-01-01
      相关资源
      最近更新 更多