PHP-Array-Zusammenführung auf demselben Schlüssel: Eine Lösung mit array_map
In PHP kann das Zusammenführen von Arrays eine Herausforderung sein, wenn die Arrays gemeinsame Schlüssel haben. Lassen Sie uns dieses Problem mit einer Lösung angehen, die die Funktion array_map nutzt.
Ziel:
Zwei Arrays, $array1 und $array2, basierend auf gemeinsamen Schlüsseln zusammenführen (z. B. „Kamera1“ , „Kamera2“) und stellen Sie sicher, dass das zusammengeführte Ergebnis die gewünschte Struktur beibehält.
Lösung:
array_map bietet eine Möglichkeit, über mehrere Arrays gleichzeitig zu iterieren und auf jedes eine Rückruffunktion anzuwenden Element. So können wir es verwenden:
<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>
So funktioniert es:
Ausgabe:
var_dump($results);
Erzeugt die folgende Ausgabe:
<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>
Diese Lösung führt die beiden Arrays effektiv zusammen, während die gemeinsamen Schlüssel erhalten bleiben und die gewünschte Array-Struktur sichergestellt wird.
Das obige ist der detaillierte Inhalt vonWie füge ich PHP-Arrays mit gemeinsam genutzten Schlüsseln mithilfe von „array_map' zusammen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!