Maison >développement back-end >Problème PHP >Quel est le résultat de l'utilisation du signe + pour concaténer des tableaux en PHP ?

Quel est le résultat de l'utilisation du signe + pour concaténer des tableaux en PHP ?

醉折花枝作酒筹
醉折花枝作酒筹avant
2021-06-11 18:04:202477parcourir

Cet article vous présentera comment utiliser le signe + pour connecter des tableaux en PHP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Quel est le résultat de l'utilisation du signe + pour concaténer des tableaux en PHP ?

Quel est le résultat de l'utilisation du signe + pour connecter des tableaux en PHP ?

Lorsque nous développons, nous fusionnons et connectons parfois deux tableaux. À ce stade, nous devons faire attention et utiliser directement le signe +. Jetons un coup d'œil au code suivant :

$a = [1, 2];
$b = [4, 5, 6];

$c = $a + $b;
print_r($c);

S'il vous plaît, dites-moi directement quel est son résultat en utilisant le premier ? Peut-être que vous pouvez deviner quand je demande cela, le résultat est :

Array
(
    [0] => 1
    [1] => 2
    [2] => 6
)

Comme vous pouvez le voir, le résultat des tableaux connectés à l'aide de l'opérateur + est l'union. Autrement dit, selon la clé, la même clé ne sera pas écrasée et aucune clé ne sera ajoutée pour former un nouveau tableau. Il ne s'agit pas vraiment d'ajouter les deux tableaux.

Et si on utilisait $b+$a ? Le résultat est alors le contenu de $b.

$c = $b + $a;
print_r($c);

Array
(
    [0] => 4
    [1] => 5
    [2] => 6
)

Alors, que devons-nous faire si nous voulons obtenir un tableau comme 1,2,4,5,6 ? C'est vrai, lorsque vous utilisez la fonction array_merge(), veuillez faire attention à la position de la clé du tableau :

$c = array_merge($a, $b);
print_r($c);

Array
(
    [0] => 1
    [1] => 2
    [2] => 4
    [3] => 5
    [4] => 6
)

$c = array_merge($b, $a);
print_r($c);

Array
(
    [0] => 4
    [1] => 5
    [2] => 6
    [3] => 1
    [4] => 2
)

Et s'il s'agit d'un tableau de hachage sous forme de clé/valeur ? Le résultat est le même, aucune clé de $a ne sera fusionnée et les mêmes clés ne seront pas traitées.

$a = ['a' => 1, 'b' => 2];
$b = ['a' => 4, 'b' => 5, 'c' => 6];

print_r($a+$b);

Array
(
    [a] => 1
    [b] => 2
    [c] => 6
)

$c = array_merge($a, $b);
print_r($c);

$c = array_merge($b, $a);
print_r($c);

Array
(
    [a] => 1
    [b] => 2
    [c] => 6
)
Array
(
    [a] => 4
    [b] => 5
    [c] => 6
)
Array
(
    [a] => 1
    [b] => 2
    [c] => 6
)

Pour le tableau de hachage ci-dessus, le résultat de l'utilisation de la fonction array_merge() est le même que le résultat de l'utilisation du signe +. C'est parce qu'ils comparent toujours les clés. Par conséquent, le tableau fusionné n'ajoutera pas de contenu. Si l'indice n'est pas défini, il sera ajouté directement avec un indice numérique.

Enfin, réessayons. Connexion de l'opérateur :

$c = $a . $b;
print_r($c);

ArrayArray

D'accord, il n'y a aucune signification particulière à convertir des chaînes en types de chaînes, puis à les assembler.

Code de test :

https://github.com/zhangyue0503/dev-blog/blob/master/php/201911/source/PHP%E4%B8%AD%E7%94%A8%2B%E5%8F%B7%E8%BF%9E%E6%8E%A5%E6%95%B0%E7%BB%84%E7%9A%84%E7%BB%93%E6%9E%9C%E6%98%AF%EF%BC%9F.php

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer