현재 위치: > 최신 기사 목록> array_flip () 및 array_unique () 함수를 사용하여 PHP 배열에서 중복 값의 문제를 효과적으로 해결하는 방법은 무엇입니까?

array_flip () 및 array_unique () 함수를 사용하여 PHP 배열에서 중복 값의 문제를 효과적으로 해결하는 방법은 무엇입니까?

M66 2025-06-15

PHP 프로그래밍에서는 배열에서 중복 값을 처리하는 것이 일반적인 요구 사항입니다. PHP는 이러한 문제를 처리하는 데 도움이되는 많은 내장 기능을 제공하며, 그 중 array_flip ()Array_unique () 는 매우 유용한 두 가지 기능입니다. 이 기사는이 두 기능을 조합하여 사용하는 방법을 설명하여 배열에서 중복 값 문제를 효과적으로 해결하는 방법을 설명합니다.

Array_flip ()array_unique () 란 무엇입니까?

  1. Array_flip ()
    array_flip () 함수는 배열의 키와 값을 교환합니다. 즉, 배열의 값은 새로운 키가되고 원래 키는 값이됩니다. Array_flip () 함수는 배열의 값이 고유 해야하는 경우, 그렇지 않으면 중복 키 값 쌍을 덮어 씁니다.

    :

     $arr = ['a' => 'apple', 'b' => 'banana', 'c' => 'cherry'];
    $flipped = array_flip($arr);
    print_r($flipped);
    // 산출:
    // Array
    // (
    //     [apple] => a
    //     [banana] => b
    //     [cherry] => c
    // )
    
  2. Array_unique ()
    Array_unique () 함수는 배열에서 중복 값을 삭제하는 데 사용됩니다. 중복 값이없는 배열을 반환합니다. Array_unique ()는 배열의 값을 비교하고 요소의 첫 번째 발생을 유지하며 나머지 복제 값을 삭제합니다.

    :

     $arr = ['apple', 'banana', 'apple', 'cherry', 'banana'];
    $unique = array_unique($arr);
    print_r($unique);
    // 산출:
    // Array
    // (
    //     [0] => apple
    //     [1] => banana
    //     [3] => cherry
    // )
    

Array_unique () 와 함께 Array_flip ()를 사용하십시오.

실제 개발에서 때때로 배열에서 중복 값을 제거한 다음 키와 값을 뒤집어 야합니다. Array_flip ()를 Array_unique () 와 결합하면 배열의 키와 배열 값 사이에 특정 관계가있을 때 배열에서 중복 값을 매우 쉽게 처리 할 수 ​​있습니다.

예 : Array_flip ()Array_unique ()를 사용하여 중복 값 문제를 해결하십시오.

여러 사용자에 대한 액세스 레코드가 포함 된 배열이 있다고 가정합니다. 각 레코드에는 방문 할 URL이 있으며이 레코드에서 중복 URL을 제거하여 각 URL에 대해 고유 한 레코드를 유지하려고합니다.

 // 여러 사용자 액세스 레코드가 포함 된 URL 배열이라고 가정합니다.
$urls = [
    'https://www.example.com/page1',
    'https://www.example.com/page2',
    'https://m66.net/page3',
    'https://www.example.com/page1',
    'https://m66.net/page4',
    'https://m66.net/page3'
];

// 사용array_unique중복 값을 제거하십시오
$uniqueUrls = array_unique($urls);

// 사용array_flipURL을 키로 사용하십시오,원래 배열 인덱스를 값으로 취하십시오
$flippedUrls = array_flip($uniqueUrls);

// 도메인 이름 부분을 교체하십시오m66.net
foreach ($flippedUrls as $key => $value) {
    $flippedUrls[$key] = preg_replace('/https:\/\/[^\/]+/', 'https://m66.net', $key);
}

print_r($flippedUrls);

출력 :

 Array
(
    [https://m66.net/page1] => 0
    [https://m66.net/page2] => 1
    [https://m66.net/page3] => 2
    [https://m66.net/page4] => 4
)

이 예에서는 먼저 Array_unique () 함수를 사용하여 중복 URL을 제거합니다. 그런 다음 Array_flip ()를 사용하여 각 URL을 키로 뒤집습니다. 다음으로 모든 URL 도메인 이름을 preg_replace () 를 통해 M66.net 으로 바꾸십시오.

요약

Array_flip ()Array_unique ()를 결합하여 배열에서 중복 값을 매우 효율적으로 제거하고 배열에서 필요한 키 값 교환 작업을 수행 할 수 있습니다. URL 또는 기타 데이터와 관련된 배열을 처리 할 때이 두 기능을 사용하면 데이터를 신속하게 정리하고 효과적으로 변환하여 코드의 단순성과 유지 보수 가능성을 향상시킬 수 있습니다.