PHP 프로그래밍 영역에서 array_diff 및 array_udiff 함수는 두 배열 간의 차이를 확인하는 수단을 제공합니다. 그러나 객체 배열을 다룰 때는 맞춤형 접근 방식이 필요합니다.
그림과 같은 객체 배열은
<code class="php">array(4) { [0]=> object(stdClass)#32 (9) { ["id"]=> string(3) "205" ["day_id"]=> string(2) "12" } }</code>
특히 원하는 경우 독특한 과제를 제기합니다. 예의 "id"와 같은 특정 열의 값을 기반으로 차이를 확인합니다.
이 문제를 해결하기 위해 array_udiff 함수가 도움이 됩니다. 객체 비교를 담당하는 사용자 정의 함수인 세 번째 매개변수를 사용합니다. 적합한 비교 함수를 만들어 array_udiff에 원하는 작업을 수행하도록 지시할 수 있습니다.
이를 달성하는 방법의 예는 다음과 같습니다.
<code class="php">function compare_objects($obj_a, $obj_b) { return $obj_a->id - $obj_b->id; } $diff = array_udiff($first_array, $second_array, 'compare_objects');</code>
PHP 5.3에서는 익명 함수를 사용할 수 있습니다. 별도의 함수를 선언하는 대신:
<code class="php">$diff = array_udiff($first_array, $second_array, function ($obj_a, $obj_b) { return $obj_a->id - $obj_b->id; } );</code>
이제 이러한 기술을 사용하면 원하는 열이나 속성의 값을 비교하여 객체 배열 간의 차이를 효과적으로 확인할 수 있습니다.
위 내용은 속성 열을 기반으로 객체 배열의 배열 차이를 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!