동일 키에서 PHP 배열 병합: array_map을 사용하는 솔루션
PHP에서는 배열이 공통 키를 공유하는 경우 배열 병합이 어려울 수 있습니다. array_map 함수를 활용하는 솔루션으로 이 문제를 해결해 보겠습니다.
목표:
공유 키(예: "Camera1")를 기반으로 두 배열 $array1 및 $array2를 병합합니다. , "Camera2"), 병합된 결과가 원하는 구조를 유지하는지 확인하세요.
해결책:
array_map은 여러 배열을 동시에 반복하여 각 배열에 콜백 함수를 적용하는 방법을 제공합니다. 요소. 사용 방법은 다음과 같습니다.
<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"] ]; $results = []; array_map(function($a, $b) use (&$results) { // Get the key for both arrays $key = current(array_keys($a)); $a[$key] = ['ip' => $a[$key]]; $key = current(array_keys($b)); $b[$key] = ['name' => $b[$key]]; $results += array_merge_recursive($a, $b); }, $array1, $array2);</code>
작동 방식:
출력:
var_dump($results);
다음과 같은 출력이 생성됩니다.
<code class="php">array (size=3) 'Camera1' => array (size=2) 'ip' => string '192.168.101.71' (length=14) 'name' => string 'VT' (length=2) 'Camera2' => array (size=2) 'ip' => string '192.168.101.72' (length=14) 'name' => string 'UB' (length=2) 'Camera3' => array (size=2) 'ip' => string '192.168.101.74' (length=14) 'name' => string 'FX' (length=2)</code>
이 솔루션은 공유 키를 보존하고 원하는 배열 구조를 보장하면서 두 배열을 효과적으로 병합합니다.
위 내용은 `array_map`을 사용하여 PHP 배열을 공유 키와 병합하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!