Maison  >  Article  >  développement back-end  >  Introduction à l'utilisation de la fonction PHP array_merge_recursive()

Introduction à l'utilisation de la fonction PHP array_merge_recursive()

WBOY
WBOYoriginal
2023-06-27 12:21:521245parcourir

La fonction array_merge_recursive() en PHP est une méthode de fusion de deux ou plusieurs tableaux en un seul tableau. La différence entre elle et la fonction array_merge() est qu'elle fusionne non seulement les éléments du tableau, mais fusionne également chaque élément du tableau qui est combiné de manière récursive en. un plus grand tableau. Par conséquent, la fonction array_merge_recursive() est très utile lorsqu'elle est profondément imbriquée et doit fusionner des tableaux de manière récursive. Cet article présentera l'utilisation spécifique de la fonction array_merge_recursive(). La syntaxe de base de la fonction

array_merge_recursive() est la suivante :

array array_merge_recursive(array $array1 [, array $array2 [, array $... ]] )

Parmi eux, $array1 est un paramètre obligatoire, indiquant que vous souhaitez fusionner le premier tableau. $array2 à $arrayN sont des paramètres facultatifs indiquant d'autres tableaux à fusionner.

Exemple 1 :

Ce qui suit est un exemple simple montrant comment fusionner deux tableaux en un seul :

$array1 = array("color" => array("favorite" => "red"), 5);
$array2 = array(10, "color" => array("favorite" => "green", "blue"));

$result = array_merge_recursive($array1, $array2);
print_r($result);

Le résultat est le suivant :

Array
(
    [color] => Array
        (
            [favorite] => Array
                (
                    [0] => red
                    [1] => green
                )
            [0] => blue
        )
    [0] => 5
    [1] => 10
)

Comme vous pouvez le voir, les éléments du tableau sont fusionnés avec succès en un seul tableau, Et les mêmes noms de clés de tableau seront enregistrés.

Exemple 2 :

L'exemple suivant montrera comment ajouter d'autres tableaux basés sur un seul tableau. Plus précisément, nous créons d'abord un tableau nommé "people", puis fusionnons trois tableaux nommés "John", "Sarah" et "Michael" dans ce tableau :

$people = array(
    "John" => array("age" => 25, "sex" => "male"),
    "Sarah" => array("age" => 31, "sex" => "female"),
);

$people = array_merge_recursive($people, array(
    "John" => array("height" => "6'1""),
    "Michael" => array("age" => 37)
));

print_r($people);

Le résultat est le suivant :

Array
(
    [John] => Array
        (
            [age] => Array
                (
                    [0] => 25
                )
            [sex] => Array
                (
                    [0] => male
                )
            [height] => Array
                (
                    [0] => 6'1"
                )
        )
    [Sarah] => Array
        (
            [age] => Array
                (
                    [0] => 31
                )
            [sex] => Array
                (
                    [0] => female
                )
        )
    [Michael] => Array
        (
            [age] => Array
                (
                    [0] => 37
                )
        )
)

Vous pouvez voir que le " Les noms de clé age" et "sex" de "John" existent déjà, un nom de clé "height" est ajouté lors de la fusion et le tableau "Michael" est complètement ajouté au tableau "people". En d'autres termes, la fonction array_merge_recursive() peut fusionner complètement deux tableaux différents dans un tableau plus grand. Les valeurs avec le même nom de clé seront fusionnées de manière récursive et les valeurs avec des noms de clé différents seront ajoutées au nouveau tableau.

Résumé : La fonction

array_merge_recursive() peut être utilisée très facilement lorsque plusieurs tableaux doivent être fusionnés bout à bout. Lorsqu'il y a des sous-tableaux imbriqués dans un tableau, cette fonction peut fusionner ces tableaux de manière récursive et éviter les conflits de noms de clés dans les sous-tableaux.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn