PHP 프로그래밍에서는 배열에서 중복 값을 처리하는 것이 일반적인 요구 사항입니다. PHP는 이러한 문제를 처리하는 데 도움이되는 많은 내장 기능을 제공하며, 그 중 array_flip () 와 Array_unique () 는 매우 유용한 두 가지 기능입니다. 이 기사는이 두 기능을 조합하여 사용하는 방법을 설명하여 배열에서 중복 값 문제를 효과적으로 해결하는 방법을 설명합니다.
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
// )
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_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 또는 기타 데이터와 관련된 배열을 처리 할 때이 두 기능을 사용하면 데이터를 신속하게 정리하고 효과적으로 변환하여 코드의 단순성과 유지 보수 가능성을 향상시킬 수 있습니다.