PHP 배열 고유 한 최후의 요소? 이 질문은 PHP의 기능의 동작을 수정하는 것에 대해 묻습니다. 기본적으로 는 중복 요소의 첫 번째 발생을 보존하고 후속 복제물을 제거합니다. 그러나이 동작을 역전시키고
last array_unique()
발생을 유지하는 내장 옵션은 없습니다. 이를 달성하려면 사용자 정의 솔루션이 필요합니다. 우리는 array_unique()
, 그리고 를 다시 활용하여 다시 마지막 발생을 효과적으로 유지할 수 있습니다. 이 코드는 먼저 배열을 되돌립니다. 그런 다음 는 last array_reverse()
발생을 보존합니다 (지금은 reversray의 첫 번째이기 때문에). 마지막으로, 배열을 원래 순서로 되돌려 마지막으로 발생합니다. array_unique()
파라미터는 키를 보존합니다. 이 방법은 중간 크기의 배열에 효율적입니다. 매우 큰 배열의 경우보다 최적화 된 알고리즘이 고려 될 수 있지만,이 솔루션은 명확하고 간결한 접근법을 제공합니다. array_reverse()
중복 요소의 마지막 발생을 보존하기 위해 PHP의 Array_unique 함수를 수정할 수 있습니까?
<?php function array_unique_last($array) { return array_reverse(array_unique(array_reverse($array, true), SORT_REGULAR), true); } $array = [1, 2, 3, 2, 4, 1, 5, 3]; $uniqueArray = array_unique_last($array); print_r($uniqueArray); // Output: Array ( [0] => 5 [1] => 3 [2] => 4 [3] => 2 [4] => 1 ) ?>
array_unique()
및 의 조합을 사용해야합니다. 의 내부 작업을 수정하려고 시도하는 것은 권장되지 않으며 PHP 소스 코드 자체를 수정하지 않고 일반적으로 불가능합니다. 마지막 인스턴스 만 유지하면서 배열에서 중복 값을 제거하는 간단한 효율적인 방법이 있습니까? true
이 작업을 직접 수행하는 단일 내장 된 PHP 기능은 없습니다. 그러나 앞에서 설명한 바와 같이, array_reverse()
, 및 의 조합은 대부분의 사용 사례에 대해 간단하고 비교적 효율적인 솔루션을 제공합니다. 효율은 위 내용은 PHP 배열 중복 제거가 나타나는 마지막 요소를 유지할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!