Maison  >  Article  >  développement back-end  >  Comment implémenter la déduplication de tableau et modifier les indices en PHP

Comment implémenter la déduplication de tableau et modifier les indices en PHP

PHPz
PHPzoriginal
2023-04-19 09:19:22716parcourir

Dans le processus d'utilisation de PHP pour le développement, la déduplication de tableau est une opération courante, mais dans de nombreux cas, nous devons non seulement dédupliquer, mais également modifier l'indice du tableau, ce qui nous oblige à traiter les résultats de la déduplication. Cet article explique comment utiliser PHP pour dédupliquer des tableaux et modifier les indices.

1. Utilisez la fonction array_unique() pour dédupliquer les tableaux

En PHP, nous pouvons utiliser la fonction array_unique() pour dédupliquer les tableaux. Cette fonction supprimera les valeurs en double dans le tableau et renverra un nouveau tableau. Par exemple :

$arr = array('apple', 'banana', 'orange', 'apple', 'pear');
$new_arr = array_unique($arr);
print_r($new_arr);

Le résultat de sortie est :

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [4] => pear
)

Dans l'exemple ci-dessus, le tableau d'origine $arr contient deux "pomme". Utilisez la fonction array_unique() pour supprimer les doublons et obtenir le nouveau tableau $new_arr. seule une « pomme » est réservée.

2. Utilisez la boucle foreach pour dédupliquer les tableaux et modifier les indices

Bien que vous puissiez facilement dédupliquer les tableaux à l'aide de la fonction array_unique(), il n'y a aucun moyen de contrôler les nouveaux indices de cette manière. Ci-dessous, nous montrerons comment utiliser le foreach. La boucle déduplique le tableau et modifie les indices.

$arr = array('apple', 'banana', 'orange', 'apple', 'pear');
$new_arr = array();
foreach ($arr as $key=>$value) {
    if (!in_array($value, $new_arr)) {
        $new_arr[] = $value;
    }
}
print_r($new_arr);

Ici, nous définissons d'abord un nouveau tableau vide $new_arr, puis utilisons une boucle foreach pour parcourir le tableau d'origine $arr afin de déterminer si chaque valeur existe dans $new_arr, et si elle n'existe pas, ajoutez-la à $new_arr. L'avantage de cette méthode est que le tableau peut être modifié en contrôlant manuellement les indices.

Si nous voulons conserver la dernière valeur dupliquée dans le tableau d'origine, nous devons la modifier légèrement. Nous pouvons utiliser la fonction array_reverse() pour retourner le tableau d'origine, afin que le dernier élément dupliqué soit conservé lors de la déduplication, par exemple. :

$arr = array('apple', 'banana', 'orange', 'apple', 'pear', 'banana');
$new_arr = array();
$arr = array_reverse($arr);
foreach ($arr as $key=>$value) {
    if (!in_array($value, $new_arr)) {
        $new_arr[$key] = $value;
    }
}
$new_arr = array_reverse($new_arr);
print_r($new_arr);

Dans l'exemple ci-dessus, nous retournons d'abord le tableau d'origine, puis utilisons une boucle foreach pour le parcourir et définissons l'indice du nouveau tableau sur l'indice de la dernière occurrence de l'élément dans le tableau d'origine.

3. Utilisez la fonction array_flip() pour dédupliquer le tableau et modifier les indices

Une autre façon courante de dédupliquer un tableau consiste à utiliser la fonction array_flip(), qui peut échanger des clés et des valeurs dans le tableau. S'il y a des valeurs en double dans le tableau, les clés suivantes écraseront les clés précédentes, réalisant ainsi l'opération de déduplication, et le nouvel indice du tableau peut être obtenu via la fonction array_keys(). Par exemple :

$arr = array('apple', 'banana', 'orange', 'apple', 'pear', 'banana');
$new_arr = array_flip($arr);
$new_arr = array_keys($new_arr);
print_r($new_arr);

Le résultat de sortie est :

Array
(
    [0] => apple
    [1] => banana
    [2] => orange
    [4] => pear
)

Dans l'exemple ci-dessus, nous utilisons d'abord la fonction array_flip() pour dédupliquer le tableau d'origine, et définissons l'indice du nouveau tableau sur la valeur du tableau d'origine, et puis la fonction pass array_keys() obtient le tableau d'indice du nouveau tableau. Cette méthode est simple et facile à utiliser, mais elle est facilement perturbée par l'ordre des indices du nouveau tableau.

4. Résumé

Ce qui précède explique comment dédupliquer des tableaux et modifier les indices en PHP. Vous pouvez choisir différentes méthodes en fonction de différents scénarios réels. Il convient de noter que ces méthodes modifient toutes le tableau d'origine. Si vous devez conserver le tableau d'origine, vous devez utiliser une copie pour fonctionner. Dans le même temps, les opérations de déduplication sur les baies nécessitent généralement l'utilisation de fonctions de comparaison. Il s'agit d'un sujet relativement complexe et n'est pas trop expliqué dans cet article.

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