PHP에서 두 다차원 배열의 연관 행 간의 차이점을 찾는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-13 00:10:02
원래의
299명이 탐색했습니다.

How to Find Differences Between Associative Rows of Two Multidimensional Arrays in PHP?

두 개의 다차원 배열의 연관 행 간의 차이점 검색

PHP에서는 배열 함수를 활용하여 배열 간의 차이점을 비교하고 식별할 수 있습니다. $pageids에는 있지만 $parentpage에는 없는 정보를 찾아야 한다는 점을 고려하세요. 그러나 이 시나리오에서는 array_diff_assoc()만으로는 충분하지 않을 수 있습니다.

중첩 배열을 효과적으로 비교하기 위해 여러 기술을 조합하여 사용할 수 있습니다.

$serializedPageIds = array_map('serialize', $pageids);
$serializedParentPage = array_map('serialize', $parentpage);

$pageWithNoChildren = array_map('unserialize',
    array_diff($serializedPageIds, $serializedParentPage));
로그인 후 복사

이 접근 방식에는 다음 단계가 포함됩니다. :

  1. 다차원 배열 직렬화: array_map('serialize', ...)를 사용하여 다차원 배열 $pageids 및 $parentpage를 문자열 표현이 포함된 1차원 배열로 변환합니다.
  2. 직렬화된 배열 비교: array_diff()는 1단계에서 생성된 1차원 배열을 비교하여 차이점을 식별합니다.
  3. 차이점 직렬화 해제: 차이점이 식별된 후 array_map('unserialize', ...)이 적용되어 문자열 표현을 다시 하위 배열로 변환하여 원하는 출력을 얻습니다.

결과 $pageWithNoChildren에는 $parentpage에 없는 $pageids의 연관 행이 포함됩니다. 이 기술을 사용하면 중첩 배열을 효율적이고 정확하게 비교할 수 있습니다.

위 내용은 PHP에서 두 다차원 배열의 연관 행 간의 차이점을 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿