Maison > développement back-end > tutoriel php > Comment gérer les clés en double dans les tableaux associatifs PHP ?

Comment gérer les clés en double dans les tableaux associatifs PHP ?

DDD
Libérer: 2024-12-15 15:58:16
original
395 Les gens l'ont consulté

How to Handle Duplicate Keys in PHP Associative Arrays?

Comment gérer les clés en double dans les tableaux associatifs PHP

Un tableau associatif est une structure de données qui stocke des paires clé-valeur, permettant une récupération efficace des valeurs en fonction de leurs valeurs associées. clés. Cependant, par défaut, les tableaux associatifs n'autorisent pas les clés en double.

Considérez le code suivant :

function array_push_associative(&$arr) {
    $args = func_get_args();
    foreach ($args as $arg) {
        if (is_array($arg)) {
            foreach ($arg as $key => $value) {
                $arr[$key] = $value;
                $ret++;
            }
        } else {
            $arr[$arg] = "";
        }
    }
    return $ret;
}
Copier après la connexion

Cette fonction tente d'ajouter des valeurs à un tableau associatif, mais écrase toute clé existante avec le même nom. Par exemple, si vous l'utilisez pour créer un tableau comme celui-ci :

$arr = [];
array_push_associative($arr, ['42' => 56], ['42' => 86], ['42' => 97]);
Copier après la connexion

...vous obtiendrez :

$arr = ['42' => 97];
Copier après la connexion

Pour surmonter cette limitation, envisagez de construire un structure de tableau imbriquée. Au lieu d'avoir des clés en double, vous pouvez utiliser des clés uniques qui correspondent à des tableaux contenant plusieurs éléments. Par exemple :

$arr = [
    '42' => [56, 86, 97],
    '51' => [64, 52],
];
Copier après la connexion

De cette façon, vous pouvez accéder à plusieurs entrées associées au même identifiant via la structure de tableau imbriqué.

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