Maison >développement back-end >Problème PHP >Comment fusionner des tableaux en php sans changer la clé
Méthode : 1. Utilisez l'opérateur "+", la syntaxe est "tableau 1 + tableau 2" ; 2. Utilisez la fonction array_merge_recursive() Lorsque deux éléments du tableau ou plus ont le même nom de clé, aucune clé ne sera exécutée. Au lieu de cela, l'écrasement du nom combine de manière récursive plusieurs valeurs portant le même nom de clé dans un tableau.
L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3
Généralement, array_merge() est utilisé pour fusionner deux tableaux en PHP
Par exemple :
$data1 = ['111' => 'aaa', '222' => 'bbb', '333' => 'ccc']; $data2 = ['444' => 'ddd', '555' => 'eee', '666' => 'fff']; $data = array_merge($data1, $data2); var_dump($data);
Le résultat est :
array(6) { [0]=> string(3) "aaa" [1]=> string(3) "bbb" [2]=> string(3) "ccc" [3]=> string(3) "ddd" [4]=> string(3) "eee" [5]=> string(3) "fff" }
Ok Nous voyons que l'utilisation de array_merge() réinitialisera la valeur de la clé Si la valeur de la clé nous est utile et que nous ne voulons pas la réinitialiser, nous pouvons utiliser "+" pour fusionner les tableaux.
$data1 = ['111' => 'aaa', '222' => 'bbb', '333' => 'ccc']; $data2 = ['444' => 'ddd', '555' => 'eee', '666' => 'fff']; $data = $data1 + $data2; var_dump($data);
Obtenez le résultat :
array(6) { [111]=> string(3) "aaa" [222]=> string(3) "bbb" [333]=> string(3) "ccc" [444]=> string(3) "ddd" [555]=> string(3) "eee" [666]=> string(3) "fff" }
Vous pouvez également utiliser la fonction array_merge_recursive pour fusionner les cellules d'un ou plusieurs tableaux, et les valeurs d'un tableau sont ajoutées au tableau précédent. Renvoie le tableau résultant.
Cette fonction est une version améliorée de array_merge. Elle ajoute les fonctions suivantes sur la base de array_merge : Si la valeur de la clé est la même, elle est la même que array_merge lorsqu'il s'agit d'un nombre, cette dernière ; n'écrasera plus le précédent, mais à la place Attaché à l'arrière, la méthode est un ajout récursif ; par exemple :
/* array_merge_recursive */ $jiaArr = array( 'name1'=>'xiaoli', 'name2'=>'xiaohua', 'name3'=>'xiaoming', '1'=>'teacher', ); $jiaBrr = array( 'name1'=>'xiaolis', 'name5'=>'xiaohuas', 'name6'=>'xiaomings', '1'=>'teachers', ); $jiaAll = array_merge_recursive($jiaArr,$jiaBrr); var_dump($jiaAll); /*浏览器output: array(7) { ["name1"]=> array(2) { [0]=> string(6) "xiaoli" [1]=> string(7) "xiaolis" } ["name2"]=> string(7) "xiaohua" ["name3"]=> string(8) "xiaoming" [0]=> string(7) "teacher" ["name5"]=> string(8) "xiaohuas" ["name6"]=> string(9) "xiaomings" [1]=> string(8) "teachers" } */
name1 a les deux tableaux, mais n'est pas écrasé mais ajouté de manière récursive, 1 valeur de clé de tableausont toujours réorganisé ;
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!