Maison >développement back-end >tutoriel php >Explication détaillée de 2 méthodes de fusion de tableaux en PHP

Explication détaillée de 2 méthodes de fusion de tableaux en PHP

墨辰丷
墨辰丷original
2018-05-30 15:32:171640parcourir

Tout le monde sait qu'on peut utiliser + ou array_merge pour combiner deux tableaux en PHP, mais il y a encore des différences entre eux, et si vous ne comprenez pas clairement ces différences, cela sera fatal au projet ! Cet article résume et présente deux méthodes de fusion de tableaux en PHP. Les amis dans le besoin peuvent s'y référer.

Préface

J'ai déjà utilisé la fonction array_merge() pour fusionner des tableaux, mais récemment je l'ai rencontrée lorsque j'ai changé de travail. question d'entretien sur la fusion de tableaux. Ce que je voulais à l'époque, c'était d'abord convertir les deux tableaux en chaînes, puis les fusionner en tableaux pour la sortie. L'intervieweur a dit que cette idée n'était pas bonne. Après cela, bulabula a parlé des bases de. tableaux, et puis c'est en effet dû à une expérience ou à un manque d'écriture de code. Je ne pense à aucune autre méthode. Aujourd'hui, j'ai cherché sur Baidu et j'ai découvert qu'il y avait un signe '+',

, qui peut également être utilisé pour fusionner des tableaux , en fonction de ma mémoire, je vais écrire la question et y jeter un oeil : array_merge_recursive()

$a = array('color'=>'red',5,6); 
$b = array('color'=>'blue','type'=>'fruit',6,7); 
$arr = array_merge($a,$b); 
var_dump($arr);

array (size=6)
 'color' => string 'blue' (length=4)
 0 => int 5
 1 => int 6
 'type' => string 'fruit' (length=5)
 2 => int 6
 3 => int 7

L'exigence est d'obtenir le même effet sans utiliser

 ; (array_merge() la fusion des tableaux écrasera les valeurs clés ; du tableau de formulaires associé dans le tableau précédent avec la même forme d'index sont fusionnés dans l'ordre des valeurs clés)

array_merge()1 Utilisez d'abord la fonction array_merge_recursive() pour fusionner :

<.>

Résultat de sortie :

$a = array(&#39;color&#39;=>&#39;red&#39;,5,6);
$b = array(&#39;color&#39;=>&#39;blue&#39;,&#39;type&#39;=>&#39;fruit&#39;,6,7);
$arr = array_merge_recursive($a,$b);
var_dump($arr);

Comme cela peut être vu le résultat, la fonction

traitera les valeurs avec la même valeur clé Return sous la forme d'un nouveau tableau associatif, et utilisera cette valeur clé comme valeur clé du tableau bidimensionnel. ne soit pas affecté.
array (size=6)
 &#39;color&#39; => 
 array (size=2)
  0 => string &#39;red&#39; (length=3)
  1 => string &#39;blue&#39; (length=4)
 0 => int 5
 1 => int 6
 &#39;type&#39; => string &#39;fruit&#39; (length=5)
 2 => int 6
 3 => int 7

Par rapport à

, il n'y aura aucune situation où la clé du tableau suivante est la même que la précédente et la valeur précédente sera écrasée. array_merge_recursive()

2. Regardons la situation de la fusion de tableaux avec le signe '+' : array_merge()

Résultat de sortie :

$a = array(&#39;color&#39;=>&#39;red&#39;,5,6);
$b = array(&#39;color&#39;=>&#39;blue&#39;,&#39;type&#39;=>&#39;fruit&#39;,6,7);
$arr = $a+$b;
var_dump($arr);

On peut voir à partir de ce résultat que l'utilisation du signe '+' pour fusionner les tableaux couvre le devant et l'arrière, et

Au contraire, et c'est plus impitoyable que
array (size=4)
 &#39;color&#39; => string &#39;red&#39; (length=3)
 0 => int 5
 1 => int 6
 &#39;type&#39; => string &#39;fruit&#39; (length=5)
, si le contenu du tableau apparaît sous forme d'index, si les valeurs clés sont les mêmes après la fusion, elles seront également écrasées !

Ce qui précède représente l’intégralité du contenu de cet article, j’espère qu’il sera utile à l’étude de chacun.

array_merge()array_merge()

Recommandations associées :


Méthode PHP d'implémentation d'applications polymorphes basées sur la technologie d'interface

PHP implémente la méthode de tri des tableaux multidimensionnels selon une certaine valeur clé

PHP implémente un accès instantané de tiers aux mises à jour logistiques


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