"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > 연관 배열을 병합하고, 누락된 키를 처리하고, 기본값으로 채우는 방법은 무엇입니까?

연관 배열을 병합하고, 누락된 키를 처리하고, 기본값으로 채우는 방법은 무엇입니까?

2024-11-02에 게시됨
검색:537

How to Merge Associative Arrays, Handle Missing Keys, and Fill with Default Values?

여러 연관 배열을 병합하고 누락된 열을 기본값으로 추가

연관 배열을 다양한 키 세트와 결합하여 통합 배열을 만드는 것은 어려울 수 있습니다. 이 질문은 이를 달성하는 방법을 탐색하며 원하는 출력은 키가 병합되고 누락된 열이 기본값으로 채워지는 배열입니다.

이를 달성하려면 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 배열과 병합되어 이전 접근 방식과 동일한 결과를 얻습니다.

릴리스 선언문 이 글은 1729431856에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3