Heim  >  Artikel  >  Backend-Entwicklung  >  Wie werden beim Zusammenführen von PHP-Arrays verschiedene Datentypen zusammengeführt?

Wie werden beim Zusammenführen von PHP-Arrays verschiedene Datentypen zusammengeführt?

王林
王林Original
2024-04-28 12:06:01366Durchsuche

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.

Wie werden beim Zusammenführen von PHP-Arrays verschiedene Datentypen zusammengeführt?

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!

Stellungnahme:
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