Maison  >  Article  >  développement back-end  >  Comment supprimer les valeurs en double d'un tableau en php

Comment supprimer les valeurs en double d'un tableau en php

PHPz
PHPzoriginal
2023-04-27 09:04:32864parcourir

En développement, nous rencontrons souvent des situations où nous devons supprimer les valeurs en double d'un tableau. En tant que langage de script côté serveur populaire, PHP offre une multitude de fonctions et de méthodes pour faire fonctionner les tableaux. Cet article présentera plusieurs méthodes couramment utilisées pour supprimer les valeurs en double des tableaux en PHP.

Méthode 1 : array_unique()

array_unique() est l'une des méthodes les plus couramment utilisées en PHP pour supprimer les valeurs en double d'un tableau. Cette fonction renvoie un nouveau tableau contenant uniquement les valeurs uniques du tableau d'entrée. Voici un exemple d'utilisation : array_unique()是PHP中最常用的去除数组中重复的值的方法之一。该函数会返回一个新的数组,只包含输入数组中唯一的值。下面是一个使用示例:

$array = array("apple", "banana", "cherry", "banana", "orange", "apple");
$newArray = array_unique($array);
print_r($newArray);

以上代码输出结果为:

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

从输出结果可以看到,array_unique()函数去除了原数组中重复的值,并返回一个新的数组。需要注意的是,该函数去除重复时是根据值来判断是否重复的,而不是根据键。

方法二:foreach循环去重

除了使用array_unique()函数外,我们还可以通过循环遍历数组并去除重复值。下面是一个使用foreach循环去重的例子:

$array = array("apple", "banana", "cherry", "banana", "orange", "apple");
$newArray = array();
foreach ($array as $value) {
    if (!in_array($value, $newArray)) {
        $newArray[] = $value;
    }
}
print_r($newArray);

以上代码输出结果和方法一相同。需要注意的是,在使用in_array函数判断值是否重复时,需要使用!取反符号对其进行取反判断,以保证不重复的值被添加到新数组中。

方法三:array_flip()

array_flip()函数可以交换数组中的键和值,从而实现去重的效果。在去重之前,我们可以使用array_flip()先交换键和值,然后再通过array_flip()恢复数组。以下是一个示例:

$array = array("apple", "banana", "cherry", "banana", "orange", "apple");
$newArray = array_flip(array_flip($array));
print_r($newArray);

以上代码输出结果和方法一方法二相同。需要注意的是,如果原数组中有重复的值,交换键值对之后会丢失后面的值,只留下最后一个。因此,在使用array_flip()时需要先用array_flip()处理一遍去除重复键值,然后再用一次array_flip()rrreee

Le résultat de sortie du code ci-dessus est :

rrreee

Comme le montre le résultat de sortie, le array_unique( ) La fonction a été supprimée. Dupliquez les valeurs dans le tableau d'origine et renvoyez un nouveau tableau. Il convient de noter que lorsque cette fonction supprime les doublons, elle détermine s'il existe des doublons en fonction de la valeur et non de la clé. #🎜🎜##🎜🎜#Méthode 2 : boucle foreach pour supprimer les doublons#🎜🎜##🎜🎜#En plus d'utiliser la fonction array_unique(), nous pouvons également parcourir le tableau et supprimer valeurs en double. Voici un exemple d'utilisation d'une boucle foreach pour supprimer les doublons : #🎜🎜#rrreee#🎜🎜#Le résultat de sortie du code ci-dessus est le même que celui de la première méthode. Il convient de noter que lorsque vous utilisez la fonction in_array pour déterminer si une valeur est répétée, vous devez utiliser le symbole de négation ! pour l'annuler afin de garantir que les valeurs non répétitives ​​sont ajoutés dans un nouveau tableau. #🎜🎜##🎜🎜#Méthode 3 : array_flip()#🎜🎜##🎜🎜#La fonction array_flip() peut échanger les clés et les valeurs du tableau pour obtenir l'effet de déduplication . Avant la déduplication, nous pouvons utiliser array_flip() pour échanger des clés et des valeurs, puis restaurer le tableau via array_flip(). Voici un exemple : #🎜🎜#rrreee#🎜🎜#La sortie du code ci-dessus est la même que celle de la première et de la deuxième méthodes. Il convient de noter que s'il y a des valeurs en double dans le tableau d'origine, les valeurs suivantes seront perdues après l'échange des paires clé-valeur, ne laissant que la dernière. Par conséquent, lorsque vous utilisez array_flip(), vous devez d'abord utiliser array_flip() pour supprimer les valeurs de clé en double, puis utiliser array_flip() pour restaurez-les. Revenez au tableau d'origine. #🎜🎜##🎜🎜#En bref, les trois méthodes ci-dessus sont couramment utilisées en PHP pour supprimer les valeurs en double des tableaux. En fonction des besoins réels, le choix de différentes méthodes peut améliorer l'efficacité du programme et rendre le code plus concis et plus facile à comprendre. #🎜🎜#

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