Maison > Article > développement back-end > Comment puis-je supprimer les sous-tableaux en double d'un tableau PHP multidimensionnel ?
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', ], ];
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);
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', ], ];
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!