PHP에서 배열의 중복 개체를 제거하는 방법
array_unique() 함수는 배열에서 중복 요소를 식별하고 제거할 수 있습니다. 그러나 이 기능은 객체가 포함된 배열의 경우 즉시 나타나지 않을 수 있습니다. 중복 객체를 효과적으로 제거하려면 특정 수정이 필요합니다.
SORT_REGULAR을 사용하는 솔루션
array_unique()가 객체와 올바르게 작동하도록 하려면 SORT_REGULAR 플래그를 두 번째로 지정하십시오. 매개변수:
<code class="php"><?php class MyClass { public $prop; } $foo = new MyClass(); $foo->prop = 'test1'; $bar = $foo; $bam = new MyClass(); $bam->prop = 'test2'; $test = array($foo, $bar, $bam); print_r(array_unique($test, SORT_REGULAR)); ?></code>
출력:
Array ( [0] => MyClass Object ( [prop] => test1 ) [2] => MyClass Object ( [prop] => test2 ) )
설명
SORT_REGULAR를 사용하여 array_unique() 함수는 기본적으로 prop 속성을 비교합니다. 동일한 속성 값을 가진 객체를 중복으로 처리합니다.
주의
이 방법은 중복 객체를 효과적으로 제거하지만 ==에 의존한다는 점에 유의하는 것이 중요합니다. 더 엄격한 === 비교보다는 비교. 즉, ID는 다르지만 속성은 동일한 개체는 여전히 중복으로 간주됩니다.
위 내용은 PHP의 배열에서 중복 개체를 제거하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!