다차원 배열에서 서로 다른 중첩 배열 찾기
정보의 연관 행이 포함된 다음 두 배열을 고려하세요.
$pageids = [ ['id' => 1, 'linklabel' => 'Home', 'url' => 'home'], ['id' => 2, 'linklabel' => 'Graphic Design', 'url' => 'graphicdesign'], ['id' => 3, 'linklabel' => 'Other Design', 'url' => 'otherdesign'], ['id' => 6, 'linklabel' => 'Logo Design', 'url' => 'logodesign'], ['id' => 15, 'linklabel' => 'Content Writing', 'url' => 'contentwriting'], ]; $parentpage = [ ['id' => 2, 'linklabel' => 'Graphic Design', 'url' => 'graphicdesign'], ['id' => 3, 'linklabel' => 'Other Design', 'url' => 'otherdesign'], ];
우리의 임무는 $pageids에는 있지만 $parentpage에는 없는 연관 행을 식별하고 반환하는 것입니다. 그러나 이러한 배열의 첫 번째 수준에서 array_diff_assoc()을 사용하면 원하는 결과를 얻을 수 없습니다.
이 문제를 극복하기 위해 array_map() 및 serialize() 함수의 조합을 활용할 수 있습니다. 이 접근 방식은 각 하위 배열을 문자열 표현으로 변환하여 다차원 구조를 효과적으로 평면화합니다.
$pageWithNoChildren = array_map('unserialize', array_diff(array_map('serialize', $pageids), array_map('serialize', $parentpage)));
결과 $pageWithNoChildren 배열에는 다음의 하위 배열이 포함됩니다. $parentpage에 없는 $pageid:
array ( 0 => array ( 'id' => 1, 'linklabel' => 'Home', 'url' => 'home', ), 3 => array ( 'id' => 6, 'linklabel' => 'Logo Design', 'url' => 'logodesign', ), 4 => array ( 'id' => 15, 'linklabel' => 'Content Writing', 'url' => 'contentwriting', ), )
위 내용은 다차원 배열 내에서 서로 다른 중첩 배열을 찾는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!