Maison > Article > développement back-end > Comment conserver les noms de clés identiques lors de la fusion de tableaux en PHP
PHP est un puissant langage de script open source utilisé pour le développement Web. Parmi eux, le tableau est l’une des structures de données les plus couramment utilisées en PHP. Dans le développement réel, il est souvent nécessaire de fusionner deux ou plusieurs tableaux. À l’heure actuelle, nous devons souvent conserver le nom de la clé inchangé pour faciliter les opérations ultérieures. Cet article explique comment conserver les noms de clés inchangés lors de la fusion de tableaux en PHP.
Les fonctions de fusion de tableaux en PHP incluent array_merge() et array_merge_recursive(). array_merge() fusionne les tableaux et renvoie le tableau fusionné. array_merge_recursive() fusionne deux éléments avec le même nom de clé dans un tableau et renvoie le tableau fusionné. Les deux fonctions peuvent fusionner des tableaux, mais elles diffèrent dans la manière dont elles gèrent les éléments ayant la même clé.
Par exemple, nous avons deux tableaux $a et $b :
$a = array('apple'=>'red', 'banana'=>'yellow', 'orange'=>'orange'); $b = array('apple'=>'green', 'pear'=>'yellow', 'grape'=>'purple');
Si on utilise la fonction array_merge() pour fusionner ces deux tableaux, le code est le suivant :
$c = array_merge($a, $b);
Ensuite, le tableau final fusionné $ Le résultat de c sera :
array('apple'=>'green', 'banana'=>'yellow', 'orange'=>'orange', 'pear'=>'yellow', 'grape'=>'purple');
Vous pouvez voir que puisque seules les paires clé-valeur du tableau suivant sont conservées après la fusion, l'élément avec le nom de clé apple dans $a est écrasé par l'élément avec le même nom de clé dans $b.
Si nous utilisons la fonction array_merge_recursive() pour fusionner les deux tableaux, le code est le suivant :
$c = array_merge_recursive($a, $b);
Ensuite, le résultat final du tableau fusionné $c sera :
array('apple'=>array('red', 'green'), 'banana'=>'yellow', 'orange'=>'orange', 'pear'=>'yellow', 'grape'=>'purple');
Comme vous pouvez le voir, en raison du fusionner Les éléments portant le même nom de clé sont fusionnés dans un tableau, de sorte que l'élément portant le nom de clé apple est conservé.
Cependant, bien que la fonction array_merge_recursive() puisse conserver les noms de clés inchangés, dans certains cas, nous ne souhaitons pas fusionner des éléments avec les mêmes noms de clés dans un tableau. Par exemple, si nous devons fusionner deux tableaux dans le même tableau et que les deux tableaux contiennent le même nom de clé, mais que leurs valeurs sont différentes, nous devons alors conserver le nom de clé inchangé pour faciliter les opérations ultérieures.
Alors, comment garder les noms de clés inchangés lors de la fusion de tableaux en PHP ? Un moyen simple et pratique consiste à utiliser l'opérateur "+". Par exemple, nous utilisons toujours les deux tableaux $a et $b ci-dessus, et le code est le suivant :
$c = $a + $b;
Ensuite, le résultat final du tableau fusionné $c sera :
array('apple'=>'red', 'banana'=>'yellow', 'orange'=>'orange', 'pear'=>'yellow', 'grape'=>'purple');
Comme vous pouvez le voir, en raison de l'utilisation de It est l'opérateur "+", donc l'élément avec le nom de clé apple dans $a n'est pas remplacé par l'élément du même nom dans $b, mais est conservé. De cette façon, nous avons réussi à fusionner les deux tableaux et à conserver leurs noms de clés inchangés.
Bien entendu, la méthode ci-dessus ne s'applique qu'aux tableaux purement associatifs. Pour les tableaux d'index numériques, même si l'opérateur "+" est utilisé, les noms des clés changeront. Par conséquent, lorsqu’il s’agit de tableaux indexés numériquement, d’autres méthodes sont nécessaires pour conserver les noms de clés inchangés.
En bref, lors de la fusion de tableaux en PHP, vous devez choisir la fonction ou l'opérateur approprié en fonction des différents besoins pour garantir l'exactitude et l'efficacité de l'opération. Lorsque vous travaillez avec des tableaux associatifs, vous pouvez utiliser l'opérateur "+" pour fusionner les tableaux et conserver les clés inchangé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!