>백엔드 개발 >PHP 튜토리얼 >php array_flip (배열에서 중복된 요소를 삭제하는 함수에 대한 자세한 설명)

php array_flip (배열에서 중복된 요소를 삭제하는 함수에 대한 자세한 설명)

怪我咯
怪我咯원래의
2017-07-06 09:43:321399검색

PH\에는 배열의 중복 요소를 삭제하는 데 사용할 수 있는 함수, 즉 array_unique()가 있지만 array_flip() 함수를 사용하는 것이 가장 효율적인 방법은 아닙니다. array_uniqure()보다 약 5배 빠릅니다. 방법은 다음과 같습니다.

$arr = array(…………) ;//10,000개의 요소가 반복되는 배열이 있다고 가정합니다.

$arr = array_flip(array_flip($arr)); //이것은 중복된 요소를 제거합니다.

정확히 무슨 일이 일어나고 있나요? array_flip()의 역할을 살펴보겠습니다. array_flip()은 다음과 같이 배열의 각 요소에 대한 키와 값을 교환하는 데 사용됩니다:
$arr1 = array ("age" => 30, "name" => " Happy Garden");
$arr2 = array_flip($arr1); //$arr2는 array(30 => "age", "Happy Garden" => "name"); 허용됩니다. 서로 다른 요소가 동일한 값을 가질 수 있지만 다음과 같이 서로 다른 요소에서 동일한 키 이름을 사용할 수는 없습니다.
$arr1 = array ("age" => 30, "name" => "Happy Garden" , " age" => 20); "age" => 20이 "age" => 30을 대체합니다.
$arr1 = 배열("name" => "Happy Garden", "age" => 45) ;
여기서 $ arr1과 $arr2는 동일합니다.
그러면 array_flip(array_flip($arr))이 배열에서 중복된 요소를 삭제할 수 있는 이유를 알 수 있습니다. 먼저 $arr의 값이 키 이름이 됩니다. 값이 반복되기 때문입니다. 키 이름이 된 후에는 이러한 반복된 값이 중복된 키 이름이 됩니다. PHP 엔진은 중복된 키 이름을 삭제하고 마지막 키 이름만 유지합니다. 하나. . 예:
$arr1 = array ("age" => 30, "name" => "Happy Park", "age" => 20)
$arr1 = array_flip($arr1); 그것은 array("Happy Garden" => "name", 20 => "age");
//$arr1의 키 이름과 값을 복원합니다:
$arr1 = array_flip($arr1)

위 코드 더 간결하게 작성할 수 있습니다: $arr1 = array_flip(array_flip($arr1))


위 내용은 php array_flip (배열에서 중복된 요소를 삭제하는 함수에 대한 자세한 설명)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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