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

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

PHPz
PHPz원래의
2023-03-29 11:31:18512검색

PHP에서 배열은 매우 일반적으로 사용되는 데이터 유형이므로 필요에 따라 배열을 중복 제거해야 하는 경우도 있습니다. 그렇다면 PHP에서 중복 배열을 제거하는 방법은 무엇입니까?

1. PHP 배열 중복 제거 기능

PHP는 배열 중복 제거를 구현하는 데 사용할 수 있는 두 가지 함수, 즉 array_unique()와 array_diff_key()를 제공합니다.

  1. array_unique() 함수

array_unique() 함수는 배열에서 중복된 값을 제거하고 새 배열을 반환할 수 있습니다.

샘플 코드:

$arr = array("apple", "banana", "cherry", "cherry", "banana");
$arr = array_unique($arr);
print_r($arr);

출력 결과:

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

array_unique() 함수가 원본 배열에서 중복된 요소를 성공적으로 제거한 것을 볼 수 있습니다.

  1. array_diff_key() 함수

array_diff_key() 함수는 두 배열을 비교하고 두 배열의 차이점에 대한 키 이름을 반환할 수 있습니다.

샘플 코드:

$array1 = array("a" => "red", "b" => "green", "c" => "blue");
$array2 = array("a" => "red", "b" => "green", "d" => "yellow");

$result = array_diff_key($array1, $array2);
print_r($result);

출력 결과:

Array
(
    [c] => blue
)

예제에서 array_diff_key() 함수는 $array1에서 $array2와 다른 부분을 필터링하여 새 배열로 반환합니다.

2. 수동으로 배열 중복 제거 구현

PHP 기능을 사용하는 것 외에도 수동으로 배열 중복 제거를 구현할 수도 있습니다.

  1. 방법 1

for 루프와 if 문을 사용하여 배열을 순회하고 중복 요소를 식별하여 제거합니다.

샘플 코드:

$arr = array(1, 2, 5, 2, 1, 6, 7, 8, 7, 9);
$new_arr = array();

for ($i = 0; $i < count($arr); $i++) {
    if (!in_array($arr[$i], $new_arr)) {
        $new_arr[] = $arr[$i];
    }
}

print_r($new_arr);

출력 결과:

Array
(
    [0] => 1
    [1] => 2
    [2] => 5
    [3] => 6
    [4] => 7
    [5] => 8
    [6] => 9
)

in_array() 함수는 원래 배열의 요소가 새 배열에 이미 표시되었는지 확인하고, 그렇지 않은 경우 새 배열에 추가합니다.

  1. 방법 2

array_flip() 함수를 사용하여 배열을 뒤집고, 중복된 키-값 쌍을 제거하고 array_flip() 함수를 사용하여 배열을 다시 뒤집습니다.

샘플 코드:

$arr = array(1, 2, 5, 2, 1, 6, 7, 8, 7, 9);
$new_arr = array_flip(array_flip($arr));

print_r($new_arr);

출력 결과:

Array
(
    [0] => 1
    [1] => 2
    [2] => 5
    [3] => 6
    [4] => 7
    [5] => 8
    [6] => 9
)

이 메서드는 루프를 사용할 필요가 없으며 array_flip() 함수를 두 번 사용하면 됩니다.

3. 요약

위는 PHP에서 중복 배열을 제거하는 여러 가지 방법이며 특정 상황에 따라 해당 방법을 선택할 수 있습니다. array_unique() 함수와 array_diff_key() 함수는 PHP 자체 함수로 상대적으로 효율성이 높습니다. 수동 구현에는 많은 양의 코드가 필요하지만 실제 상황에 따라 유연하게 조정하고 최적화할 수 있습니다.

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

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