Maison > développement back-end > tutoriel php > Quand l'opérateur peut-il concaténer des tableaux en toute sécurité en PHP ?

Quand l'opérateur peut-il concaténer des tableaux en toute sécurité en PHP ?

Susan Sarandon
Libérer: 2024-10-24 14:41:02
original
267 Les gens l'ont consulté

When Can the   Operator Safely Concatenate Arrays in PHP?

Comprendre l'opérateur de concaténation de tableaux en PHP

En PHP, l'opérateur peut être utilisé pour concaténer deux tableaux. Cependant, certains cas peuvent survenir où cet opérateur se comporte de manière inattendue, conduisant à des résultats incorrects.

Considérez le code suivant :

<code class="php">$array = array('Item 1');

$array += array('Item 2');

var_dump($array);</code>
Copier après la connexion

La sortie attendue serait un tableau contenant à la fois « Article 1 » et « Article 2 ». Cependant, le résultat réel est :

array(1) {
  [0] => string(6) "Item 1"
}
Copier après la connexion

Cette différence se produit car PHP réduit les éléments du tableau avec des clés en double lors de l'utilisation de l'opérateur. Dans ce cas, les deux éléments ont une clé de 0, ce qui fait que seul le premier élément est conservé.

Pour résoudre ce problème et concaténer correctement les tableaux, il est recommandé d'utiliser la fonction array_merge() à la place.

<code class="php">$arr1 = array('foo');
$arr2 = array('bar');

// Will contain array('foo', 'bar');
$combined = array_merge($arr1, $arr2);</code>
Copier après la connexion

Array_merge() préserve la structure du tableau, garantissant que les éléments avec des clés différentes sont correctement combinés.

Dans les scénarios où les éléments du tableau possèdent des clés uniques, l'opérateur peut être un choix approprié.

<code class="php">$arr1 = array('one' => 'foo');
$arr2 = array('two' => 'bar');

// Will contain array('one' => 'foo', 'two' => 'bar');
$combined = $arr1 + $arr2;</code>
Copier après la connexion

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!

source:php
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal