Comprendre le fonctionnement de l'union des tableaux : ' ' en PHP
En PHP, l'opérateur de tableau ' ' permet la fusion de deux tableaux, combinant leurs éléments dans un seul tableau résultant. Cependant, contrairement à d'autres méthodes de fusion telles que array_merge(), l'opérateur « » a un comportement spécifique qui peut souvent conduire à des résultats inattendus.
Comment fonctionne l'opérateur « »
Selon le manuel PHP, l'opérateur ' ' renvoie le tableau de droite ajouté au tableau de gauche. Surtout, pour les clés en double, les éléments du tableau de gauche sont prioritaires, tandis que ceux du tableau de droite sont ignorés.
Exemple
Considérez ce qui suit exemple :
$array1 = ['one', 'two', 'foo' => 'bar']; $array2 = ['three', 'four', 'five', 'foo' => 'baz']; echo '<pre class="brush:php;toolbar:false">', print_r($array1 + $array2), '';
Sortie :
Array ( [0] => one [1] => two [foo] => bar [2] => five )
Comme on le voit dans la sortie, le L'opérateur ' ' a combiné les tableaux comme suit :
Détails de mise en œuvre
Le comportement de l'opérateur ' ' s'apparente à la logique suivante :
$union = $array1; foreach ($array2 as $key => $value) { if (!array_key_exists($key, $union)) { $union[$key] = $value; } }
Comparaison avec array_merge()
Il est important de noter que le le comportement de « » diffère de celui de array_merge(). Par exemple, utiliser array_merge() sur la même entrée donnerait le résultat suivant :
echo '<pre class="brush:php;toolbar:false">', print_r(array_merge($array1, $array2)), '';
Sortie :
Array ( [0] => one [1] => two [foo] => baz [2] => three [3] => four [4] => five )
Dans ce cas, array_merge() combine les tableaux avec des éléments du tableau de droite en écrasant celles avec des clés en double de la main gauche array.
Conclusion
Comprendre le comportement nuancé de l'opérateur ' ' garantit que les tableaux sont fusionnés comme souhaité dans le code PHP. Sa préférence pour les éléments du tableau de gauche par rapport à ceux du tableau de droite conduit souvent à des résultats qui peuvent être inattendus et nécessitent un examen plus approfondi ou des méthodes de fusion alternatives telles que array_merge().
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!