>  기사  >  백엔드 개발  >  PHP 배열에서 중복 요소를 제거하는 방법(3가지 방법)

PHP 배열에서 중복 요소를 제거하는 방법(3가지 방법)

PHPz
PHPz원래의
2023-04-12 09:18:242293검색

PHP는 강력한 기능과 유연한 기능을 갖춘 널리 사용되는 서버 측 스크립팅 언어로, 많은 웹사이트의 백엔드 개발에 선호되는 언어입니다. PHP에서는 배열에서 중복된 요소를 제거해야 하는 경우가 있습니다. 이 기사에서는 중복된 배열 요소를 제거하기 위해 PHP의 다양한 기능을 사용하는 방법을 소개합니다.

방법 1: array_unique() 함수 사용
PHP에 내장된 array_unique() 함수는 배열에서 중복 값을 제거할 수 있습니다. 이 함수는 모든 중복 값이 ​​포함된 새 배열을 반환합니다. 제거됨. 이 함수의 기본 구문은 다음과 같습니다.

array array_unique(array $array [, int $sort_flags = SORT_STRING ])

그 중 $array는 중복 제거가 필요한 배열이고, $sort_flags는 정렬 플래그입니다. , 정렬 방법은 다음 값일 수 있습니다.

  • SORT_REGULAR - 데이터 유형과 값을 비교합니다. ​​
  • SORT_NUMERIC - 값만 비교하고 숫자 순서로 정렬합니다.
  • SORT_STRING - 값만 비교하고 정렬합니다. 문자열 순서로

샘플 코드 다음과 같습니다:

<?php   
   $arr = array("a" => "apple", "b" => "banana", "c" => "apple");  
   $result = array_unique($arr);  
   print_r($result); 
?>

출력 결과는 다음과 같습니다.

Array ( [a] => apple [b] => banana )

위의 예에서 $arr 배열에는 array_unique()를 사용한 후 두 개의 동일한 값 ​​​​"apple"이 포함되어 있습니다. 중복을 제거하는 기능을 사용하면 결과 "apple"에는 하나만 남습니다.

방법 2: 루프 순회 사용
배열에서 중복 값을 제거해야 하는 경우 루프 순회를 사용하여 이를 달성할 수도 있습니다. 기본 아이디어는 배열을 반복하면서 각 요소를 이전 요소와 비교하고, 이전 요소와 동일하면 배열에 중복된 요소가 더 이상 없을 때까지 요소를 삭제하는 것입니다.

샘플 코드는 다음과 같습니다.

<?php   
   $arr = array("a" => "apple", "b" => "banana", "c" => "apple");  
   $newArr = array();  
   foreach ($arr as $value) {  
      if(!in_array($value, $newArr)){  
         $newArr[] = $value;  
      }  
   }  
   print_r($newArr);  
?>

출력 결과는 다음과 같습니다.

Array ( [0] => apple [1] => banana )

위의 예에서는 foreach 루프를 사용하여 $arr 배열을 순회하고 각 요소를 새 배열 $newArr에 저장합니다. $newArr에 이미 동일한 값이 포함되어 있음을 발견했습니다. 이 값을 건너뛰고 다음 요소를 계속 확인하세요.

방법 3: array_flip() 및 array_keys() 함수 사용
PHP 내장 함수 array_flip() 및 array_keys()를 사용하여 중복을 제거할 수도 있습니다.

array_flip() 함수를 사용하면 중복 제거 목적을 달성하기 위해 배열의 키와 해당 값을 교환할 수 있습니다. 이 함수의 기본 구문은 다음과 같습니다.

array array_flip(array $array)

그 중 $array는 키 값을 교환해야 하는 배열입니다.

array_keys() 함수는 배열의 모든 키를 반환할 수 있습니다. 기본 구문은 다음과 같습니다.

array array_keys(array $array [, Mixed $search_value = null [, bool $strict = false ]])

where $array는 지정된 배열입니다. $search_value는 찾을 값을 지정하는 데 사용되는 선택적 매개변수입니다. 지정하지 않으면 모든 키가 반환됩니다. $strict는 합동 비교 사용 여부를 지정하는 데 사용되는 선택적 매개변수입니다.

샘플 코드는 다음과 같습니다.

<?php  
   $arr = array("a" => "apple", "b" => "banana", "c" => "apple");  
   $newArr = array_flip(array_keys($arr));  
   print_r($newArr); 
?>

출력 결과는 다음과 같습니다.

Array ( [apple] => c [banana] => b )

위의 예에서는 먼저 array_keys() 함수를 사용하여 $arr 배열의 모든 키를 반환한 다음 array_flip()을 사용합니다. $newArr 배열을 얻기 위해 키와 값을 교환하는 함수입니다. 배열의 키는 고유해야 하므로 이 방법을 사용하면 중복 제거 효과를 얻을 수 있습니다.

요약
이 글에서는 PHP에서 배열 요소 중복을 제거하는 세 가지 방법인 array_unique() 함수 사용, 루프 순회 사용, array_flip() 및 array_keys() 함수 사용을 소개합니다. 다양한 방법에는 적용 가능한 시나리오와 효과가 다르므로 특정 상황에 따라 적절한 방법을 선택해야 합니다.

위 내용은 PHP 배열에서 중복 요소를 제거하는 방법(3가지 방법)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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