Für das Zusammenführen von Arrays unterschiedlicher Datentypen in PHP gibt es drei gängige Methoden: 1) array_merge_recursive, rekursives Zusammenführen, Beibehalten von Unterarrays; 2) der Spread-Operator von PHP 7.4+, der Arrays erweitert; Kontrolle.
PHP-Array-Zusammenführung zwischen verschiedenen Datentypen
In PHP stoßen Sie beim Zusammenführen von Arrays häufig auf Daten verschiedener Datentypen, um die perfekte Zusammenführung dieser Datentypen zu erreichen. und stellen praktische Fälle zur Demonstration bereit.
1. array_merge_recursive
Diese Funktion kann Arrays und Unterarrays rekursiv in Form von Arrays zusammenführen, ohne die Daten der Unterarrays zu verlieren.
<?php $array1 = ['a' => 1, 'b' => [3, 4], 'c' => ['d' => 6]]; $array2 = ['b' => [1, 2], 'e' => 5]; $mergedArray = array_merge_recursive($array1, $array2); print_r($mergedArray); // 输出: // Array // ( // [a] => 1 // [b] => Array // ( // [0] => 3 // [1] => 4 // [2] => 1 // [3] => 2 // ) // [c] => Array // ( // [d] => 6 // ) // [e] => 5 // ) ?>
2. Spread-Operator (PHP 7.4+)
PHP 7.4 führte den Spread-Operator ein, der das Verteilen eines Arrays innerhalb eines anderen Arrays ermöglicht.
<?php $array1 = ['a' => 1, 'b' => [3, 4]]; $array2 = ['b' => [1, 2], 'e' => 5]; $mergedArray = [...$array1, ...$array2]; print_r($mergedArray); // 输出: // Array // ( // [0] => 1 // [1] => 3 // [2] => 4 // [3] => 1 // [4] => 2 // [5] => 5 // ) ?>
3. Benutzerdefinierte Zusammenführungsfunktion
Wenn Sie eine detailliertere Kontrolle über den Zusammenführungsprozess benötigen, können Sie eine benutzerdefinierte Zusammenführungsfunktion schreiben.
<?php function custom_array_merge(array $array1, array $array2): array { foreach ($array2 as $key => $value) { if (isset($array1[$key]) && is_array($array1[$key]) && is_array($value)) { $array1[$key] = custom_array_merge($array1[$key], $value); } else { $array1[$key] = $value; } } return $array1; } $array1 = ['a' => 1, 'b' => [3, 4], 'c' => ['d' => 6]]; $array2 = ['b' => [1, 2], 'e' => 5]; $mergedArray = custom_array_merge($array1, $array2); print_r($mergedArray); // 输出: // Array // ( // [a] => 1 // [b] => Array // ( // [0] => 3 // [1] => 4 // [2] => 1 // [3] => 2 // ) // [c] => Array // ( // [d] => 6 // ) // [e] => 5 // ) ?>
Das obige ist der detaillierte Inhalt vonWie werden beim Zusammenführen von PHP-Arrays verschiedene Datentypen zusammengeführt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!