Heim > Backend-Entwicklung > PHP-Tutorial > 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?

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?

DDD
Freigeben: 2024-10-29 13:33:02
Original
667 Leute haben es durchsucht

How can I merge two PHP arrays with matching keys into a single array, preserving the key-value pairs from both arrays?

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>
Nach dem Login kopieren

Array 2:

<code class="php">array(
    [
        "Camera1" => "VT"
    ],
    [
        "Camera2" => "UB"
    ],
    [
        "Camera3" => "FX"
    ]
)</code>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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)
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage