Maison  >  Article  >  développement back-end  >  Exemple détaillé de la différence entre la fusion de tableaux php utilisant l'opérateur + et la fonction de tableau array_merge

Exemple détaillé de la différence entre la fusion de tableaux php utilisant l'opérateur + et la fonction de tableau array_merge

伊谢尔伦
伊谢尔伦original
2017-06-21 09:52:531485parcourir

PHP fusionne tableaux généralement de deux manières, l'une consiste à ajouter directement à l'aide du signe plus, l'autre consiste à utiliser la fonction array_merge pour effectuer la De plus, array_merge() fusionne les cellules de deux tableaux ou plus et les valeurs d'un tableau sont ajoutées au tableau précédent. Renvoie le tableau résultant. S'il y a la même chaîne nom de clé dans le tableau d'entrée, la valeur après le nom de clé écrasera la valeur précédente. Cependant, si le tableau contient des clés numériques, les valeurs suivantes n'écraseront pas les valeurs d'origine mais leur seront ajoutées.

Il y a une légère différence entre les deux :

Lorsque le nom de la clé du tableau est un nom de clé numérique, les deux tableaux à fusionner avoir des nombres avec le même nom. Lors de l'utilisation de KEY, l'utilisation de array_merge() n'écrasera pas la valeur d'origine, mais l'utilisation de "+" pour fusionner des tableaux renverra la première valeur comme résultat final et "éliminera" ces valeurs dans le fichier. tableaux suivants qui ont le même nom de clé. "Off (remarque : ne pas écraser mais conserver la valeur qui apparaît en premier). Lorsque le même nom de clé de tableau est un caractère, l'opérateur "+" est le même que lorsque le nom de clé est un nombre, mais array_merge() écrasera la valeur précédente du même nom de clé.

Instance :

<?php
$array1 = array(1=>&#39;0&#39;); 
$array2 = array(1=> "data"); 
$result1 = $array2 + $array1;/*结果为$array2的值*/ 
print_r($result); 
$result = $array1 + $array2 ;/*结果为$array1的值*/ 
print_r($result); 
$result3 = array_merge($array2,$array1);/*结果为$array2和$array1的值,键名被重新分配*/ 
print_r($result3); 
$result4 = array_merge($array1,$array2);/*结果为$array1和$array2的值,键名被重新分配*/ 
print_r($result4); 
?>

Résultat de sortie :

Array 
( 
[1] => data 
) 
Array 
( 
[1] => 0 
) 
Array 
( 
[0] => data 
[1] => 0 
) 
Array 
( 
[0] => 0 
[1] => data 
)

Code :

<?php
$array1 = array(&#39;asd&#39;=>&#39;0&#39;); 
$array2 = array(&#39;asd&#39; => "data"); 
$result1 = $array2 + $array1;/*结果为$array2的值*/ 
print_r($result); 
$result = $array1 + $array2 ;/*结果为$array1的值*/ 
print_r($result); 
$result3 = array_merge($array2,$array1);/*结果为$array1*/ 
print_r($result3); 
$result4 = array_merge($array1,$array2);/*结果为$array2*/ 
print_r($result4);
?>

Résultat de sortie :

Array 
( 
[asd] => data 
) 
Array 
( 
[asd] => 0 
) 
Array 
( 
[asd] => 0 
) 
Array 
( 
[asd] => data 
)

1. L'ajout prouvera que l'index naturel dans le tableau n'est pas réinitialisé
2. pas réinitialisé. Sera écrasé
3. L'index naturel dans la fonction de fusion sera réinitialisé
4. La fonction de fusion n'a pas d'importance dans la relation entre la fusion et la fusion. La valeur des paramètres du tableau ultérieurs sera la même. comme celle des paramètres de tableau précédents. La valeur de la clé

.

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