Maison  >  Article  >  développement back-end  >  Comment supprimer des tableaux identiques en php

Comment supprimer des tableaux identiques en php

PHPz
PHPzoriginal
2023-04-19 10:05:23500parcourir

En PHP, il est souvent nécessaire d'opérer sur des tableaux, et une des opérations courantes est de supprimer des données identiques. Cette situation est très courante lors du traitement, du filtrage ou de la déduplication des données. Alors, dans des opérations spécifiques, comment utiliser PHP pour supprimer des tableaux identiques ?

1. Utilisez la fonction array_unique() pour supprimer les éléments identiques

La fonction intégrée de PHP array_unique() peut être utilisée pour supprimer les éléments en double d'un tableau. Cette fonction renvoie un nouveau tableau contenant uniquement les éléments distincts apparaissant dans le tableau d'origine. Ci-dessous, nous montrons comment utiliser cette fonction :

<?php
$colors = array("red","green","blue","red","yellow","blue");
$unique_colors = array_unique($colors);
print_r($unique_colors);
?>

Dans ce code, nous définissons un tableau $colors, dont certains sont répétés. Grâce au traitement de la fonction array_unique(), le nouveau tableau $unique_colors après suppression des éléments en double est renvoyé. Nous pouvons voir que le résultat de sortie est le suivant :

Array
(
[0] => red
[1] => green
[2] => blue
[4] => yellow
)

Comme vous pouvez le voir sur la sortie, les éléments en double dans le tableau $colors ont été supprimés du tableau $unique_colors.

2. Utilisez une fonction personnalisée pour supprimer des éléments identiques

Parfois, nous devons utiliser une fonction personnalisée pour supprimer des éléments en double dans un tableau. Cette méthode est plus difficile à mettre en œuvre et vous devez écrire votre propre code pour traiter le tableau.

<?php
function custom_unique($array){
    $result = array();
    foreach($array as $value){
        if(!in_array($value,$result)){
            $result[] = $value;
        }
    }
    return $result;
}
$colors = array("red","green","blue","red","yellow","blue");
$unique_colors = custom_unique($colors);
print_r($unique_colors);
?>

Dans ce code, nous définissons une fonction personnalisée custom_unique() pour supprimer les éléments en double dans le tableau $colors. Le processus d'implémentation de cette fonction est le suivant : parcourir le tableau initial, utiliser la fonction in_array() pour déterminer si l'élément est apparu dans le nouveau tableau $unique_colors, sinon, l'ajouter au nouveau tableau $unique_colors, et enfin renvoyer le traitement nouveau tableau. L'exécution du code ci-dessus produira des résultats similaires à la première méthode :

Array
(
[0] => red
[1] => green
[2] => blue
[4] => yellow
)

3. Utilisez la fonction array_diff() pour supprimer des éléments identiques

La fonction array_diff() peut être utilisée pour comparer deux tableaux et renvoyer les différents éléments entre eux. Si notre objectif est de supprimer des éléments identiques d'un tableau, nous pouvons également utiliser cette fonctionnalité pour y parvenir.

<?php
$colors = array("red","green","blue","red","yellow","blue");
$unique_colors = array_diff($colors,array_unique($colors));
print_r($unique_colors);
?>

Dans ce code, nous utilisons la fonction array_diff() et la fonction array_unique() pour supprimer des éléments identiques. Tout d'abord, nous utilisons la fonction array_unique() pour obtenir le tableau après avoir supprimé les éléments en double, puis utilisons la fonction array_diff() pour comparer le tableau initial et le tableau après déduplication, et renvoyer les différents éléments entre les deux tableaux, ce qui est ce que nous avons besoin d'un tableau.

Grâce aux trois méthodes ci-dessus, nous pouvons plus facilement supprimer les mêmes éléments du tableau. La méthode à utiliser dépend de nos besoins réels et de nos habitudes de programmation.

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