Maison >développement back-end >tutoriel php >Comment puis-je fusionner des tableaux associatifs à clé numérique en PHP tout en préservant les clés d'origine ?

Comment puis-je fusionner des tableaux associatifs à clé numérique en PHP tout en préservant les clés d'origine ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-16 17:05:22705parcourir

How Can I Merge Numerically-Keyed Associative Arrays in PHP While Preserving Original Keys?

Fusion de tableaux associatifs avec des clés numériques conservées

Lors de la combinaison de deux tableaux associatifs à clé numérique, il est souvent souhaité de conserver les clés d'origine dans le tableau combiné tout en évitant les doublons. Voici une solution simple :

$array1 = [
    '11' => '11',
    '22' => '22',
    '33' => '33',
    '44' => '44',
];

$array2 = [
    '44' => '44',
    '55' => '55',
    '66' => '66',
    '77' => '77',
];

$output = $array1 + $array2;

En PHP, l'opérateur pour les tableaux fusionne deux tableaux, et lorsque deux clés avec la même valeur numérique sont présentes, la valeur du tableau de droite écrase la valeur du tableau de gauche. Cependant, comme les clés dans ce cas sont des entiers, PHP les traite comme des nombres et renumérote les clés.

Pour recréer les clés numériques d'origine, utilisez array_combine :

$output = array_combine($output, $output);

Cela crée un nouveau tableau avec les clés d'origine restaurées.

Par conséquent, le tableau fusionné avec les clés numériques préservées ressemble à ceci :

[
    '11' => '11',
    '22' => '22',
    '33' => '33',
    '44' => '44',
    '55' => '55',
    '66' => '66',
    '77' => '77',
]

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