>백엔드 개발 >PHP 문제 >PHP의 배열에서 중복을 제거하는 방법

PHP의 배열에서 중복을 제거하는 방법

PHPz
PHPz원래의
2023-04-26 10:20:541102검색

PHP 언어에서는 배열에서 중복 항목을 제거해야 하는 경우 이 목표를 달성하는 여러 가지 방법이 있습니다. 이 기사에서는 PHP 배열에서 중복 항목을 제거하는 데 도움이 되는 몇 가지 방법과 기술을 소개합니다.

  1. array_unique() 함수를 사용하세요.

PHP의 array_unique() 함수는 배열의 모든 중복 항목을 한 번에 제거할 수 있습니다. 이 함수는 배열을 인수로 받아들이고 원래 배열과 고유한 값만 포함하는 고유한 배열을 반환합니다. 예를 들어, 다음 코드 조각은 array_unique() 함수를 사용하여 $numbers 배열에서 중복 항목을 제거하는 방법을 보여줍니다.

$numbers = array(1, 2, 3, 1, 4, 2, 5);
$unique_numbers = array_unique($numbers);
print_r($unique_numbers);

이 코드의 출력은 다음과 같습니다: Array ( [0] => 1 [1] => ; 2 [2] => 3 [4] => 4 [6] => 5 )

반환된 배열의 키 이름은 원래 배열과 다를 수 있습니다. 원래 키 이름으로 배열을 다시 정렬해야 하는 경우 다음과 같이 array_values() 함수를 사용하세요.

$numbers = array(1, 2, 3, 1, 4, 2, 5);
$unique_numbers = array_values(array_unique($numbers));
print_r($unique_numbers);

이 코드는 동일한 결과를 출력하지만 이 경우 배열의 키 순서는 동일합니다. : 배열([0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )

  1. 루프 및 in_array() 함수 사용

array_unique() 함수를 사용할 수 없는 경우 루프 및 in_array() 함수를 사용하여 동일한 기능을 수동으로 구현할 수 있습니다. in_array() 함수는 배열에 값이 있는지 검색하고 해당 부울 값을 반환합니다. in_array() 함수와 결합된 루프를 사용하면 전체 배열을 반복하고 새 배열에 없는 값만 저장할 수 있습니다.

예를 들어 다음 코드 조각은 이 기술을 사용하는 방법을 보여줍니다.

$numbers = array(1, 2, 3, 1, 4, 2, 5);
$unique_numbers = array();
foreach($numbers as $n) {
  if (!in_array($n, $unique_numbers)) {
    $unique_numbers[] = $n;
  }
}
print_r($unique_numbers);

이 코드의 출력은 다음과 같습니다. Array ( [0] => 1 [1] => 2 [2] => 3[4] => 4[6] => 5).

이 접근 방식의 단점은 array_unique() 함수를 사용하는 것보다 더 많은 코드와 처리 시간이 필요하다는 점에 유의하세요.

  1. array_flip() 및 array_keys() 함수 사용

배열에서 중복 항목을 제거하는 또 다른 방법은 array_flip() 및 array_keys() 함수를 사용하는 것입니다. array_flip() 함수는 새로운 배열을 반환합니다. 새 배열의 키는 원래 배열의 값이고, 값은 원래 배열의 키 이름입니다. 이 방법을 사용하면 원본 배열의 중복 값과 관련된 모든 키를 제거할 수 있습니다.

다음으로 array_keys() 함수를 사용하여 중복이 제외된 배열을 반환할 수 있습니다.

다음 코드는 이 방법을 사용하는 방법을 보여줍니다.

$numbers = array(1, 2, 3, 1, 4, 2, 5);
$unique_numbers = array_keys(array_flip($numbers));
print_r($unique_numbers);

이 코드의 출력은 다음과 같습니다: Array ( [0] => 1 [1] => 2 [2] => 3 [3] = > 4 [4] => 5 )

이 방법은 숫자 또는 문자열 배열에만 작동합니다.

요약

어떤 방법을 선택하든 PHP 배열에서 중복 항목을 제거하는 것은 간단합니다. 이 기사에서 설명하는 것처럼 array_unique() 함수, 루프, in_array() 함수, array_flip() 및 array_keys() 함수를 사용하여 이를 달성할 수 있습니다. 궁극적으로 어떤 방법을 선택할지는 해결하려는 문제와 프로덕션 코드에서 사용하는 PHP 버전에 따라 달라질 수 있습니다.

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

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