Maison > développement back-end > tutoriel php > Comment puis-je supprimer les sous-tableaux en double d'un tableau PHP multidimensionnel ?

Comment puis-je supprimer les sous-tableaux en double d'un tableau PHP multidimensionnel ?

Barbara Streisand
Libérer: 2024-11-25 09:34:10
original
391 Les gens l'ont consulté

How Can I Remove Duplicate Sub-arrays from a Multi-Dimensional PHP Array?

Suppression des doublons des tableaux PHP multidimensionnels

En PHP, travailler avec des tableaux multidimensionnels implique souvent la nécessité d'éliminer les éléments en double. Cela peut être particulièrement utile lorsqu'il s'agit de grands ensembles de données où des valeurs identiques peuvent apparaître dans plusieurs sous-tableaux.

Considérez l'exemple suivant, où nous avons un tableau 2D avec des sous-tableaux contenant le nom, l'adresse e-mail et d'autres informations. :

$array = [
    [
        'name' => 'Dave',
        'email' => 'dave@example.com',
    ],
    [
        'name' => 'John',
        'email' => 'john@example.com',
    ],
    [
        'name' => 'Bruce',
        'email' => 'bruce@example.com',
    ],
    [
        'name' => 'John',
        'email' => 'john@example.com',
    ],
];
Copier après la connexion

Dans cet exemple, nous avons une entrée en double avec la même adresse e-mail (« john@example.com »). Pour supprimer le sous-tableau en double, nous pouvons utiliser le caractère unique des index de tableau à l'aide de l'extrait suivant :

$newArr = [];
foreach ($array as $val) {
    $newArr[$val['email']] = $val; 
}
$array = array_values($newArr);
Copier après la connexion

En parcourant les sous-tableaux et en utilisant l'adresse e-mail comme clé pour le nouveau tableau, nous écrasons toutes les valeurs en double par le dernier sous-tableau correspondant. La fonction array_values() est ensuite utilisée pour réinitialiser les index du tableau, ce qui donne un tableau dédupliqué :

$array = [
    [
        'name' => 'Dave',
        'email' => 'dave@example.com',
    ],
    [
        'name' => 'John',
        'email' => 'john@example.com',
    ],
    [
        'name' => 'Bruce',
        'email' => 'bruce@example.com',
    ],
];
Copier après la connexion

Cette technique supprime efficacement les valeurs en double en fonction de la clé spécifiée, nous laissant avec un tableau multidimensionnel dédupliqué. .

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
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