Maison > développement back-end > Problème PHP > Comment fusionner des tableaux en php sans changer la clé

Comment fusionner des tableaux en php sans changer la clé

青灯夜游
Libérer: 2023-03-11 15:24:02
original
2762 Les gens l'ont consulté

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.

Comment fusionner des tableaux en php sans changer la clé

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);
Copier après la connexion

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"
}
Copier après la connexion

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);
Copier après la connexion

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"
}
Copier après la connexion

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"
}
*/
Copier après la connexion

name1 a les deux tableaux, mais n'est pas écrasé mais ajouté de manière récursive, 1 valeur de clé de tableau​​sont 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal