PHP 기반 array유 니 크 2 차원 배열 의 무 게 를 실현 합 니 다.

array_유 니 크 함 수 는 무 거 운 곳 에 있 습 니 다.이 기능 을 갖 추고 있 습 니 다.다음은 PHP 사용 array유 니 크 는 2 차원 배열 에 대해 예 를 재 처리 합 니 다.
php 5.2.9 버 전 array 추가다 차원 배열 에 대한 유 니 크 지원,다 차원 배열 을 처리 하려 면 sort 를 설정 해 야 합 니 다.flags 매개 변수
1 차원 배열 의 중복 항목:
array 사용유 니 크 함 수 를 사용 하면 됩 니 다.실례 는 다음 과 같 습 니 다.
코드 는 다음 과 같다.

<?php
$aa = array("apple", "banana", "pear", "apple", "wail", "watermalon");
$bb = array_unique($aa);
print_r($bb);
?>
결 과 는 다음 과 같다.Array ( [0] => apple [1] => banana [2] => pear [4] => wail [5] => watermalon )
2 차원 배열 중복 제거
코드 는 다음 과 같다.
예 를 들 면:
$result = array(
0=>array('a'=>1,'b'=>'Hello'),
1=>array('a'=>1,'b'=>'other'),
2=>array('a'=>1,'b'=>'other'),
);
처리 하 다
$result = array(
0=>array('a'=>1,'b'=>'Hello'),
1=>array('a'=>1,'b'=>'other')
);
사용 방법array_unique($result, SORT_REGULAR);2 차원 배열 의 중복 항목:
2 차원 배열 에 대해 우 리 는 두 가지 상황 으로 나 누 어 토론 하 는데 하 나 는 특정한 키 이름 의 값 이 중복 되 지 않 고 중복 항목 을 삭제 하기 때문이다.다른 하 나 는 내부 의 1 차원 배열 이 완전히 같 지 않 기 때문에 중복 항목 을 삭제 합 니 다.다음 과 같은 예 를 들 어 설명 합 니 다.
한 키 이름 의 값 이 중복 되 지 않 기 때문에 중복 항목 을 삭제 합 니 다.
PHP 코드 는 다음 과 같 습 니 다.

<?php

function assoc_unique($arr, $key) {
  $tmp_arr = array();
  foreach ($arr as $k => $v) {
    if (in_array($v[$key], $tmp_arr)) {//  $v[$key]   $tmp_arr     ,     true
      unset($arr[$k]);
    } else {
      $tmp_arr[] = $v[$key];
    }
  }
  sort($arr); //sort         
  return $arr;
}

$aa = array(
  array('id' => 123, 'name' => '  '),
  array('id' => 123, 'name' => '  '),
  array('id' => 124, 'name' => '  '),
  array('id' => 125, 'name' => '  '),
  array('id' => 126, 'name' => '  ')
);
$key = 'id';
assoc_unique(&$aa, $key);
print_r($aa);
?>
결 과 는 다음 과 같 습 니 다:

Array ( [0] => Array ( [id] => 123 [name] =>    ) [1] => Array ( [id] => 124 [name] =>    ) [2] => Array ( [id] => 125 [name] =>    ) [3] => Array ( [id] => 126 [name] =>    ) )
내부 의 1 차원 배열 이 완전히 같 을 수 없 기 때문에 중복 항목 을 삭제 합 니 다.
코드 는 다음 과 같다.

<?php

function array_unique_fb($array2D) {
  foreach ($array2D as $v) {
    $v = join(",", $v); //  ,    implode,                 
    $temp[] = $v;
  }
  $temp = array_unique($temp);//        ,          
  foreach ($temp as $k => $v) {
    $temp[$k] = explode(",", $v);//           
  }
  return $temp;
}
$aa = array(
  array('id' => 123, 'name' => '  '),
  array('id' => 123, 'name' => '  '),
  array('id' => 124, 'name' => '  '),
  array('id' => 123, 'name' => '  '),
  array('id' => 126, 'name' => '  ')
);
$bb = array_unique_fb($aa);
print_r($bb)
?>
결과 보이 기:

Array ( [0] => Array ( [0] => 123 [1] =>    ) [1] => Array ( [0] => 123 [1] =>    ) [2] => Array ( [0] => 124 [1] =>    ) [4] => Array ( [0] => 126 [1] =>    ) )
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기