PHP 배열 작업에서 Array_flip () 및 Array_Values () 는 두 가지 매우 강력한 기능입니다. 혼란 스럽거나 불규칙하거나 재구성 해야하는 어레이를 다루는 경우이 두 기능의 조합은 예상치 못한 효율성을 가져올 수 있습니다.
이 기사는이 두 기능을 조합하여 PHP 배열의 구조와 형식을 빠르게 재구성하는 방법을 소개합니다.
Array_flip () 의 목적은 배열의 키와 값을 바꾸는 것 입니다. 이는 값으로 키를 찾아야하는 일부 시나리오에서 매우 유용합니다.
$input = ['a' => 'apple', 'b' => 'banana'];
$result = array_flip($input);
// 결과: ['apple' => 'a', 'banana' => 'b']
참고 : 배열 값이 고유하지 않은 경우 Array_flip ()는 중복 값에 해당하는 키를 무시합니다.
Array_Values () 는 인덱스 배열을 재구성 하고 배열의 값을 0부터 시작하는 인덱스 키로 개출하는 것입니다.
$input = ['first' => 'apple', 'second' => 'banana'];
$result = array_values($input);
// 결과: ['apple', 'banana']
외환, 인덱스를 재 배열하고 배열 형식을 표준화 해야하는 경우 Array_flip () 및 Array_Values ()를 결합하는 것이 매우 편리합니다.
사용자 양식에서 다양한 태그를받는다고 가정합니다.
$tags = ['php', 'html', 'css', 'php', 'javascript', 'html'];
당신은 희망 :
복제물을 제거하십시오
키 값을 재주문하여 0에서 증가합니다
당신은 이것을 할 수 있습니다 :
$uniqueTags = array_values(array_flip(array_flip($tags)));
첫 번째 array_flip ($ tags) : 태그를 키로 사용하여 중복 값을 제거하십시오.
두 번째 array_flip (...) : 원래 "값"을 복원하지만 중복 제거되었습니다.
마지막 array_values (...) : 키를 숫자 인덱스로 재구성합니다.
최종 결과 :
['php', 'html', 'css', 'javascript']
깨끗하고 중복 제거, 깔끔한 인덱싱!
예를 들어 URL 매개 변수로부터 다양한 옵션을 받고 있다고 가정합니다.
https://m66.net/filter.php?tags[]=php&tags[]=php&tags[]=mysql&tags[]=laravel
처리 코드는 다음과 같습니다.
$tags = $_GET['tags'] ?? [];
$cleanTags = array_values(array_flip(array_flip($tags)));
이를 통해 $ CleanTags 변수에는 중복 제거 태그가 포함되어 있으며 표준 색인 배열에 있습니다.
Array_flip ()를 사용하면 키의 독창성을 영리하게 활용하여 중복 제거를 달성 할 수 있습니다.
그런 다음 Array_Values ()를 사용하여 깨끗한 색인 배열로 복원하십시오.
조합으로 사용되며, 중복 데이터 및 형식 배열 구조를 처리하는 데 매우 효율적입니다.
사용자 입력 처리, 구성 옵션, 레이블 데이터 등과 같은 시나리오에서 특히 사용하기에 적합합니다.
이 두 기능의 조합은 코드를보다 간결하게 만들뿐만 아니라 foreach 또는 in_array () 와 같은 기능에 대한 의존성을 줄여 성능 및 가독성 향상을 줄입니다.