연관 배열 병합 및 기본값이 있는 누락 열 추가
모든 고유 키를 유지하고 누락된 열을 기본값으로 추가하면서 여러 연관 배열 병합 다양한 기술을 사용하여 달성할 수 있습니다. 이를 수행하는 두 가지 방법을 살펴보겠습니다.
방법 1: array_merge 및 RecursiveIterationIterator 사용
<code class="php">$a = array('a' => 'some value', 'b' => 'some value', 'c' => 'some value'); $b = array('a' => 'another value', 'd' => 'another value', 'e' => 'another value', 'f' => 'another value'); $c = array('b' => 'some more value', 'x' => 'some more value', 'y' => 'some more value', 'z' => 'some more value'); $d = array($a, $b, $c); $keys = array(); foreach (new RecursiveIteratorIterator(new RecursiveArrayIterator($d)) as $key => $val) { $keys[$key] = ''; } $data = array(); foreach ($d as $values) { $data[] = array_merge($keys, $values); } echo '<pre class="brush:php;toolbar:false">'; print_r($data);</code>
이 접근 방식은 먼저 array_merge와 함께 RecursiveIteratorIterator를 사용하여 모든 고유 키를 식별합니다. 각 연관 배열에서. 그런 다음 식별된 키를 사용하여 빈 배열($keys)을 초기화합니다. 그런 다음 $d의 각 배열을 반복하여 $keys 배열을 각 배열의 값과 병합하여 원하는 형식을 얻습니다.
방법 2: array_combine 및 array_map 사용
<code class="php">$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);</code>
이 접근 방식은 array_keys를 사용하여 병합된 배열에 있는 모든 고유 키의 결합을 결정합니다. 그런 다음 array_combine을 활용하여 키가 고유 키이고 값이 null인 키-값 쌍을 생성합니다. 마지막으로 array_map을 사용하여 $d를 반복하고 키-값 쌍($key_pair)을 $d의 각 연관 배열과 병합하여 원하는 형식을 얻습니다.
위 내용은 연관 배열을 병합하고 누락된 열을 기본값으로 추가하려면 어떤 기술을 사용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!