>백엔드 개발 >PHP 튜토리얼 >PHP에서 2차원 배열 중복 제거 기능을 구현한 예

PHP에서 2차원 배열 중복 제거 기능을 구현한 예

高洛峰
高洛峰원래의
2017-01-14 15:07:231585검색

이 기사의 예에서는 PHP에서 2차원 배열 중복 제거 기능을 구현하는 방법을 설명합니다. 참고하실 수 있도록 모든 사람과 공유하세요. 자세한 내용은 다음과 같습니다.

php에서 2차원 배열의 중복 제거 작업. 예를 들어, 데이터베이스에서 쿼리된 레코드에 대해 특정 키

를 기반으로 중복 제거 작업이 수행됩니다. 코드는 다음과 같습니다.

/**
 * 删除二维数组中相同项的数据,(一般用于数据库查询结果中相同记录的去重操作)
 *
 * @param array $_2d_array 二维数组,类似:
 *     $tmpArr = array(
 *         array('id' => 1, 'value' => '15046f5de5bb708e'),
 *         array('id' => 1, 'value' => '15046f5de5bb708e'),
 *     );
 * @param string $unique_key 表示上述数组的 "id" 键,或者 "value" 键
 *
 * @return mixed
 */
function unique_2d_array_by_key($_2d_array, $unique_key) {
  $tmp_key[] = array();
  foreach ($_2d_array as $key => &$item) {
    if ( is_array($item) && isset($item[$unique_key]) ) {
      if ( in_array($item[$unique_key], $tmp_key) ) {
        unset($_2d_array[$key]);
      } else {
        $tmp_key[] = $item[$unique_key];
      }
    }
  }
  return $_2d_array;
}
//使用示例:
$tmpArr = array(
  array('id' => 1, 'value' => '15046f5de5bb708e'),
  array('id' => 1, 'value' => '15046f5de5bb708e'),
);
print_r(@unique_2d_array_by_key($tmpArr,id));

실행 결과:

Array ( [0] => Array ( [id] => 1 [value] => 15046f5de5bb708e ) )

원리: 중복 제거가 필요한 키를 2차원 배열에 저장하고 다음 데이터 세트를 순회하여 비교한 후 키 값이 동일하면 삭제합니다.

이 글이 PHP 프로그래밍에 종사하는 모든 분들께 도움이 되기를 바랍니다.

2차원 배열 중복 제거 기능의 PHP 구현 예제와 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.