연관 배열을 다양한 키 세트와 결합하여 통합 배열을 만드는 것은 어려울 수 있습니다. 이 질문은 이를 달성하는 방법을 탐색하며 원하는 출력은 키가 병합되고 누락된 열이 기본값으로 채워지는 배열입니다.
이를 달성하려면 array_merge 함수를 함께 사용하는 것이 제안되었습니다. 신중하게 제작된 키 배열 사용:
$keys = array(); foreach(new RecursiveIteratorIterator(new RecursiveArrayIterator($d)) as $key => $val) { $keys[$key] = ''; }
이 루프는 입력 배열의 모든 요소를 반복하여 고유한 키를 추출하고 빈 값을 할당합니다. 결과 $keys 배열에는 최종 병합 배열에 존재할 수 있는 모든 키가 포함됩니다.
다음으로 각 입력 배열이 $keys 배열과 병합됩니다.
$data = array(); foreach($d as $values) { $data[] = array_merge($keys, $values); }
이 단계에서는 다음을 보장합니다. 최종 배열의 모든 행에는 가능한 모든 키가 있고 누락된 값은 빈 문자열로 채워집니다. 결과 $data 배열은 원하는 병합 및 완성 배열입니다.
또는 키 쌍 배열을 생성하고 각 입력 배열과 병합할 수 있습니다.
$keys = array_keys(call_user_func_array('array_merge', $d)); $key_pair = array_combine($keys, array_fill(0, count($keys), null)); $values = array_map(function($e) use ($key_pair) { return array_merge($key_pair, $e); }, $d);
이 방법은 기본적으로 가능한 모든 키를 null 값으로 매핑합니다. 그런 다음 각 입력 배열이 $key_pair 배열과 병합되어 이전 접근 방식과 동일한 결과를 얻습니다.
위 내용은 연관 배열을 병합하고, 누락된 키를 처리하고, 기본값으로 채우는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!