Maison > développement back-end > Problème PHP > Comment effacer les données en double du tableau en php

Comment effacer les données en double du tableau en php

PHPz
Libérer: 2023-04-25 10:13:59
original
413 Les gens l'ont consulté

Pendant le processus de développement PHP, nous rencontrons souvent des situations dans lesquelles nous devons effacer les données en double dans des tableaux. S'il y a des données en double dans le tableau, cela provoquera probablement des exceptions dans le programme et les résultats ne seront pas ceux attendus. Il est donc très important d'effacer les données en double dans le tableau. Cet article explique comment effacer les données en double des tableaux en PHP.

1. Utilisez la fonction array_unique

La fonction array_unique est une fonction fournie avec PHP et peut être utilisée pour supprimer les données en double dans le tableau. La syntaxe de la fonction array_unique est la suivante :

array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )
Copier après la connexion

Parmi eux, $array est le tableau qui doit être débarrassé des données en double, et $sort_flags est un paramètre facultatif utilisé pour contrôler le comportement de la fonction.

Par exemple :

<?php
$arr = array("PHP", "is", "the", "best", "programming", "language", "PHP");
$new_arr = array_unique($arr);
print_r($new_arr);
?>
Copier après la connexion

Le résultat du code ci-dessus est :

Array
(
    [0] => PHP
    [1] => is
    [2] => the
    [3] => best
    [4] => programming
    [5] => language
)
Copier après la connexion

Comme vous pouvez le voir, la fonction array_unique supprime avec succès les données en double dans le tableau. A noter que la fonction array_unique utilise la méthode SORT_STRING pour trier le tableau par défaut. Si vous devez trier d'une autre manière, vous pouvez utiliser le paramètre $sort_flags pour le définir.

Il convient de mentionner que la fonction array_unique ne conserve pas les noms de clés dans le tableau d'origine lors de l'effacement des données, mais uniquement les valeurs. Si vous devez conserver le nom de la clé, vous pouvez utiliser la méthode décrite ci-dessous.

2. Utilisez la méthode de parcours en boucle

En plus d'utiliser la fonction array_unique, vous pouvez également utiliser la méthode de parcours en boucle pour effacer les données en double dans le tableau. L'opération spécifique est la suivante :

<?php
$arr = array("PHP", "is", "the", "best", "programming", "language", "PHP");
$new_arr = array();
foreach($arr as $value) {
    if(!in_array($value, $new_arr)) {
        $new_arr[] = $value;
    }
}
print_r($new_arr);
?>
Copier après la connexion

Le résultat de sortie du code ci-dessus est le même que la fonction array_unique, et les données en double dans le tableau sont également effacées avec succès.

Il convient de noter que la méthode de parcours en boucle est moins efficace lors du traitement d'une grande quantité de données, il est recommandé d'utiliser la fonction array_unique pour l'effacement.

3. Utilisez les fonctions array_keys et array_values ​​​​

Si vous devez conserver les noms de clés dans le tableau d'origine, vous pouvez utiliser les fonctions array_keys et array_values ​​​​. L'opération spécifique est la suivante :

<?php
$arr = array("PHP", "is", "the", "best", "programming", "language", "PHP");
$arr = array_unique($arr);
$new_arr = array();
foreach($arr as $key => $value) {
    $new_arr[$key] = $value;
}
print_r($new_arr);
?>
Copier après la connexion

Le résultat de sortie du code ci-dessus est toujours le tableau après la suppression des données en double, mais les noms de clés dans le tableau d'origine sont conservés.

Résumé

La suppression des données en double dans un tableau est une opération de base dans le développement PHP. Si elle n'est pas gérée correctement, elle est susceptible de provoquer des exceptions dans le programme et des résultats non conformes aux attentes. Cet article présente plusieurs méthodes couramment utilisées pour supprimer les données en double des tableaux. Vous devez choisir en fonction de la situation réelle lors de leur utilisation.

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