php获取数组中重复数据的两种方法

  (1)利用php提供的函数,array_uniquearray_diff_assoc来实现

  

复制代码 代码如下:

  <?php

  function FetchRepeatMemberInArray($array) {

  // 获取去掉重复数据的数组

  $unique_arr = array_unique ( $array );

  // 获取重复数据的数组

  $repeat_arr = array_diff_assoc ( $array, $unique_arr );

  return $repeat_arr;

  }

  // 测试用例

  $array = array (

  'apple',

  'iphone',

  'miui',

  'apple',

  'orange',

  'orange'

  );

  $repeat_arr = FetchRepeatMemberInArray ( $array );

  print_r ( $repeat_arr );

  ?>

  (2)自己写函数实现这个功能,利用两次for循环

  

复制代码 代码如下:

  <?php

  function FetchRepeatMemberInArray($array) {

  $len = count ( $array );

  for($i = 0; $i < $len; $i ++) {

  for($j = $i + 1; $j < $len; $j ++) {

  if ($array [$i] == $array [$j]) {

  $repeat_arr [] = $array [$i];

  break;

  }

  }

  }

  return $repeat_arr;

  }

  // 测试用例

  $array = array (

  'apple',

  'iphone',

  'miui',

  'apple',

  'orange',

  'orange'

  );

  $repeat_arr = FetchRepeatMemberInArray ( $array );

  print_r ( $repeat_arr );

  ?>