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

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

PHPz
PHPz원래의
2023-04-23 09:18:40954검색

인터넷의 지속적인 발전과 함께 웹 개발의 중요성이 더욱 부각되고 있습니다. 웹 개발 과정에서 가장 기본적인 언어 중 하나인 PHP 언어는 서버측 프로그래밍에 널리 사용되며, 배열은 PHP 언어의 중요한 구성 요소 중 하나입니다.

일반적으로 데이터를 처리할 때 배열을 사용해야 하는 경우가 있는데, 내부 값이 반복되지 않을 것으로 예상합니다. 동일한 값이 있으면 반복되는 결과가 쉽게 발생합니다. 이를 위해서는 PHP 배열에서 중복된 값을 제거하는 특수 함수를 사용해야 합니다.

PHP의 배열에서 중복된 값을 제거하려면 실제로 array_unique() 함수를 사용합니다. 다음에는 몇 가지 예시를 통해 사용법을 소개하겠습니다.

  1. 인덱싱된 배열에서 중복 값 제거

PHP의 배열에서 중복 요소를 제거하려면 PHP에 내장된 array_unique() 함수를 사용할 수 있습니다. 이는 배열의 중복 요소를 필터링하여 파일에서 처음 나타나는 요소를 유지하는 데 도움이 되며 모든 후속 복사본은 삭제됩니다.

다음은 array_unique() 함수를 사용하여 인덱스 배열에서 중복된 값을 제거하는 방법을 보여줍니다.

<?php

$names = array("John", "Peter", "David", "Peter", "Mike", "David", "Mark", "Peter");

$unique_names = array_unique($names);

print_r($unique_names);

?>

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

Array
(
    [0] => John
    [1] => Peter
    [2] => David
    [4] => Mike
    [6] => Mark
)

"Peter" 및 "David" 요소에 인덱스가 있는 것을 볼 수 있습니다. 3개와 5개는 삭제되어 1개만 남았습니다. 이는 array_unique() 함수가 배열에서 첫 번째 요소 발생을 유지하고 해당 요소의 모든 후속 발생을 삭제하기 때문입니다.

  1. 연관 배열에서 중복 값 제거

배열 인덱싱 외에도 array_unique() 함수를 사용하여 PHP의 연관 배열에서 중복 값을 제거할 수도 있습니다. 연관 배열의 경우 키를 지정할 때 주의가 필요합니다.

다음은 array_unique() 함수를 사용하여 연관 배열에서 중복 값을 제거하는 방법을 보여줍니다.

<?php

$users = array(
    "id1" => array("name" => "John", "email" => "john@example.com"),
    "id2" => array("name" => "Peter", "email" => "peter@example.com"),
    "id3" => array("name" => "David", "email" => "david@example.com"),
    "id4" => array("name" => "Peter", "email" => "peter@example.com"),
    "id5" => array("name" => "Mike", "email" => "mike@example.com"),
    "id6" => array("name" => "David", "email" => "david@example.com"),
);

// 指定"name"键去除重复值
$unique_users = array_map("unserialize", array_unique(array_map("serialize", $users)));

print_r($unique_users);

?>

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

Array
(
    [id1] => Array
        (
            [name] => John
            [email] => john@example.com
        )

    [id2] => Array
        (
            [name] => Peter
            [email] => peter@example.com
        )

    [id3] => Array
        (
            [name] => David
            [email] => david@example.com
        )

    [id5] => Array
        (
            [name] => Mike
            [email] => mike@example.com
        )

)

"name" 키가 지정되면 요소가 "id4"가 삭제되었습니다. 연관 배열에 나타나는 첫 번째 복사본이 유지됩니다.

  1. 다차원 배열에서 중복 값 제거

인덱스 배열 및 연관 배열 외에도 array_unique() 함수를 사용하여 PHP의 다차원 배열에서 중복 값을 제거할 수도 있습니다. 다차원 배열의 경우 지정된 키 값의 위치에 주의해야 합니다.

다음은 array_unique() 함수를 사용하여 다차원 배열에서 중복된 값을 제거하는 방법을 보여줍니다.

<?php

$courses = array(
    array("name" => "PHP Programming", "code" => "PHP101"),
    array("name" => "Web Design", "code" => "WD101"),
    array("name" => "PHP Programming", "code" => "PHP101"), 
    array("name" => "Java Programming", "code" => "JAVA101")
);

// 指定“name”键值的位置
$unique_courses = array_map("unserialize", array_unique(array_map("serialize", array_column($courses , null , 'name'))));

print_r($unique_courses);

?>

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

Array
(
    [PHP Programming] => Array
        (
            [name] => PHP Programming
            [code] => PHP101
        )

    [Web Design] => Array
        (
            [name] => Web Design
            [code] => WD101
        )

    [Java Programming] => Array
        (
            [name] => Java Programming
            [code] => JAVA101
        )

)

"이름"의 위치를 ​​지정하면 이를 알 수 있습니다. 키 값에서 "PHP 프로그래밍" 요소가 제거되었으며 다차원 배열에 나타나는 첫 번째 복사본이 유지됩니다.

요약

PHP에서는 array_unique() 함수를 통해 배열에서 중복된 값을 쉽게 제거할 수 있습니다. 인덱스 배열, 연관 배열, 다차원 배열의 경우 특정 상황에 따라 함수의 매개변수를 지정하여 최상의 결과를 얻을 수 있습니다. array_unique() 함수의 사용법을 배우면 웹 개발에서 PHP 언어 적용을 더 잘 익히고 기술 수준을 더욱 향상시킬 수 있습니다.

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

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