PHP 배열: 일치하는 키로 배열 병합
PHP에서는 여러 배열을 병합해야 하는 경우가 있습니다. 같은 키가 결합되어 있습니다. 다음 시나리오를 고려하십시오.
문제:
키가 일치하는 두 개의 어레이가 있고 이를 병합하려고 합니다.
<code class="php">$array1 = [ ['Camera1' => '192.168.101.71'], ['Camera2' => '192.168.101.72'], ['Camera3' => '192.168.101.74'] ]; $array2 = [ ['Camera1' => 'VT'], ['Camera2' => 'UB'], ['Camera3' => 'FX'] ];</code>
해결책:
키-값 관계를 유지하면서 이러한 배열을 병합하려면 array_keys와 함께 array_map을 사용하여 조작하고 결합할 수 있습니다.
<code class="php">$results = array(); array_map(function($a, $b) use (&$results) { $key1 = current(array_keys($a)); $a[$key1] = ['ip' => $a[$key1]]; $key2 = current(array_keys($b)); $b[$key2] = ['name' => $b[$key2]]; $results = array_merge_recursive($a, $b); }, $array1, $array2);</code>
이것은 솔루션은 두 배열의 각 요소를 반복하고, 해당 키를 추출하고, array_merge_recursive를 사용하여 값이 병합될 수 있도록 값의 이름을 바꾸는 방식으로 작동합니다. 결과는 아래와 같이 각 키에 병합된 결과가 있는 배열입니다.
<code class="php">array ( 'Camera1' => array ( 'ip' => '192.168.101.71', 'name' => 'VT' ), 'Camera2' => array ( 'ip' => '192.168.101.72', 'name' => 'UB' ), 'Camera3' => array ( 'ip' => '192.168.101.74', 'name' => 'FX' ) )</code>
위 내용은 PHP 배열을 일치하는 키와 병합하고 해당 값을 결합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!