Heim > Artikel > Backend-Entwicklung > Wie kann ich zwei PHP-Arrays mit passenden Schlüsseln in einem einzigen Array zusammenführen und dabei die Schlüssel-Wert-Paare beider Arrays beibehalten?
Arrays mit passenden Schlüsseln in PHP zusammenführen
Problemstellung:
Zwei PHP zusammenführen Arrays mit übereinstimmenden Schlüsseln in einem einzigen Array, wobei die Schlüssel-Wert-Paare aus beiden Arrays erhalten bleiben.
Beispiel-Arrays:
Array 1:
<code class="php">array( [ "Camera1" => "192.168.101.71" ], [ "Camera2" => "192.168.101.72" ], [ "Camera3" => "192.168.101.74" ] )</code>
Array 2:
<code class="php">array( [ "Camera1" => "VT" ], [ "Camera2" => "UB" ], [ "Camera3" => "FX" ] )</code>
Lösung mit array_map:
<code class="php">$array1 = array( ["Camera1" => "192.168.101.71"], ["Camera2" => "192.168.101.72"], ["Camera3" => "192.168.101.74"], ); $array2 = array( ["Camera1" => "VT"], ["Camera2" => "UB"], ["Camera3" => "FX"] ); $results = array(); array_map(function($a, $b) use (&$results) { $key = current(array_keys($a)); $a[$key] = array('ip' => $a[$key]); $key = current(array_keys($b)); $b[$key] = array('name' => $b[$key]); $results += array_merge_recursive($a, $b); }, $array1, $array2); var_dump($results);</code>
Ausgabe :
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)
Diese Lösung behält die Schlüssel-Wert-Paare aus beiden Arrays bei und führt sie in einem einzigen Array zusammen. Die Funktion „array_merge_recursive“ wird verwendet, um die Arrays rekursiv zusammenzuführen und so verschachtelte Arrays zu ermöglichen.
Das obige ist der detaillierte Inhalt vonWie kann ich zwei PHP-Arrays mit passenden Schlüsseln in einem einzigen Array zusammenführen und dabei die Schlüssel-Wert-Paare beider Arrays beibehalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!