Maison  >  Article  >  développement back-end  >  Discutez des différentes méthodes de fusion de tableaux en PHP

Discutez des différentes méthodes de fusion de tableaux en PHP

PHPz
PHPzoriginal
2023-04-26 09:14:141116parcourir

Avec le développement rapide du développement Web, les opérations sur les tableaux PHP sont devenues de plus en plus importantes. Du traitement des données de formulaire à la génération dynamique de contenu de page Web, les tableaux PHP permettent aux développeurs de gérer facilement une variété de données. La fusion de tableaux est l’une des opérations les plus élémentaires de PHP. Dans le développement réel, nous devons généralement fusionner deux ou plusieurs tableaux en un seul pour mieux gérer et exploiter les données. Dans cet article, nous aborderons différentes méthodes de fusion de tableaux en PHP.

Méthode 1 : fonction array_merge

La fonction array_merge est l'une des fonctions les plus couramment utilisées pour fusionner des tableaux en PHP. Il peut combiner deux ou plusieurs tableaux en un nouveau tableau.

Syntaxe : array array_merge ( array $array1 [, array $array2 [, array $... ]] )

La fonction array_merge accepte n'importe quel nombre de tableaux comme paramètres et renvoie un nouveau tableau contenant tous les éléments de l'élément de tableau d'entrée . Notez que la fonction array_merge ne fusionne pas les tableaux de manière récursive. Si les tableaux d'entrée ont le même nom de clé, les valeurs ultérieures écraseront les valeurs précédentes.

Voici un exemple :

$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_merge($array1, $array2);
print_r($result);

Sortie :

Array ( [color] => green [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4 )

Dans cet exemple, "color" dans $array2 écrase "color" dans $array1 et "4" duplique la valeur dans $array1.

Méthode 2 : +

Vous pouvez également utiliser l'opérateur "+" pour fusionner des tableaux. Cela concatène essentiellement deux tableaux en un nouveau tableau.

Ce qui suit est un exemple d'utilisation de l'opérateur "+" :

$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = $array1 + $array2;
print_r($result);

Résultat de sortie :

Array ( [color] => red [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4 )

Dans cet exemple, la "couleur" dans $array1 est conservée comme valeur d'origine, tandis que la "couleur" dans $array2 est rejeté. Dans le même temps, les valeurs en double seront également supprimées.

Il est à noter que l'utilisation de l'opérateur "+" est limitée aux tableaux avec des clés entières. Cette méthode ne fonctionnera pas si le nom de la clé est une chaîne. Même si le nom de la clé est un nombre entier, s'il existe des clés en double, les clés les plus récentes écraseront les clés précédentes.

Méthode 3 : fonction array_replace

La fonction array_replace peut fusionner un ou plusieurs tableaux dans un nouveau tableau tout en conservant la dernière valeur de chaque clé.

Syntaxe : array array_replace ( array $array1 [, array $array2 [, array $... ]] )

Voici un exemple :

$array1 = array("color" => "red", 2, 4);
$array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4);
$result = array_replace($array1, $array2);
print_r($result);

Sortie :

Array ( [color] => green [0] => a [1] => b [2] => 4 [shape] => trapezoid )

Dans cet exemple, "color" La dernière valeur est la valeur "color" dans $array2, et la dernière valeur de "4" est également la valeur dans $array2. Notez que array_replace ne réindexe pas le tableau résultant, mais le fusionne en fonction du nom de la clé.

Méthode 4 : fonction array_merge_recursive

La fonction array_merge_recursive est une variante de la fonction array_merge, qui fusionne récursivement tous les éléments avec le même nom de clé dans un tableau. Si les valeurs correspondant à la même clé dans deux tableaux sont des tableaux, les tableaux seront fusionnés de manière récursive.

Voici un exemple :

$array1 = array("color" => array("favorite" => "red"), 2, 4);
$array2 = array("color" => array("favorite" => "green"), "shape" => "trapezoid", 4);

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

Sortie :

Array ( [color] => Array ( [favorite] => Array ( [0] => red [1] => green ) ) [0] => 2 [1] => 4 [shape] => trapezoid )

Dans cet exemple, la valeur de la clé "color" est un tableau associatif, pas une simple valeur. Par conséquent, lors de l'utilisation de array_merge_recursive, les valeurs seront fusionnées de manière récursive, pas simplement simplement fusionnées.

Pour résumer, voici quatre façons de fusionner des tableaux en PHP. array_merge() est la méthode la plus couramment utilisée, mais vous pouvez choisir d'autres méthodes adaptées à vos besoins spécifiques. array_merge_recursive est le meilleur choix lorsque vous devez fusionner des tableaux associatifs de manière récursive. Par conséquent, lors de l’écriture de code PHP, il est nécessaire de comprendre les différentes méthodes de fusion de tableaux pour une meilleure gestion et manipulation des données.

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