La façon dont PHP fusionne les tableaux sans supprimer les données en double est la suivante : en utilisant la fonction array_merge_recursive, vous pouvez fusionner des tableaux sans supprimer les données en double, mais fusionner les données en double dans un sous-tableau, afin que toutes les données puissent être conservées et ne le seront pas. être perdues.
L'environnement d'exploitation de ce tutoriel : système windows10, version php8.1.3, ordinateur DELL G3.
En PHP, vous pouvez utiliser la fonction array_merge pour fusionner deux tableaux. La fonction de la fonction array_merge est de fusionner un ou plusieurs tableaux dans un nouveau tableau. Cependant, la fonction array_merge dédupliquera les données en double. Si nous voulons fusionner des tableaux sans supprimer les données en double, nous pouvons utiliser la fonction array_merge_recursive.
La fonction array_merge_recursive a des fonctions similaires à la fonction array_merge, mais elle ne supprimera pas les données en double. Lorsque le même nom de clé existe dans le tableau, la fonction array_merge_recursive fusionnera les données avec le même nom de clé dans un sous-tableau.
Syntaxe :
array_merge_recursive ( array $array1 [, array $... ] ) : array
Description du paramètre :
-$array1:要合并的第一个数组,必需。 -$...:要合并的其他数组,可选。
Valeur de retour :
Le tableau fusionné.
Ce qui suit est un exemple pour démontrer l'utilisation de la fonction array_merge_recursive :
$array1=array('a'=>'apple','b'=>'banana'); $array2=array('a'=>'orange','c'=>'cherry'); $array3=array('d'=>'durian'); $result=array_merge_recursive($array1,$array2,$array3); print_r($result); 输出结果: Array ( [a]=>Array ( [0]=>apple [1]=>orange ) [b]=>banana [c]=>cherry [d]=>durian )
Vous pouvez voir que la clé 'a' dans le tableau $array1 et le tableau $array2 est répétée, mais après la fusion via la fonction array_merge_recursive, les clés répétées sera fusionné dans un sous-tableau.
Il convient de noter que si le même nom de clé contient un non-tableau et un tableau lors de la fusion de tableaux, la fonction array_merge_recursive convertira la valeur non-tableau en un tableau.
Par exemple :
$array1=array('a'=>'apple','b'=>'banana'); $array2=array('a'=>array('orange','cherry')); $result=array_merge_recursive($array1,$array2); print_r($result); 输出结果: Array ( [a]=>Array ( [0]=>apple [1]=>Array ( [0]=>orange [1]=>cherry ) ) [b]=>banana )
Dans l'exemple ci-dessus, la clé 'a' dans le tableau $array2 est un tableau, tandis que la clé 'a' dans le tableau $array1 est une chaîne. Après la fusion via la fonction array_merge_recursive, la clé 'a' dans le tableau $array1 sera convertie en tableau.
Pour résumer, en utilisant la fonction array_merge_recursive, nous ne pouvons pas supprimer les données en double lors de la fusion de tableaux, mais fusionner les données en double dans un sous-tableau. De cette façon, toutes les données sont conservées et les données en double ne sont pas perdues. .
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!