Maison > Article > développement back-end > Comment supprimer les éléments en double du tableau en php
Méthode 1 : utilisez la fonction array_unique() pour dédupliquer le tableau, la syntaxe est "array_unique($arr)" ; 2. Profitez de la fonctionnalité non répétable des noms de clés de tableau PHP et utilisez la fonction array_flip() pour inversez deux fois la somme des noms de clé du tableau.La position de la valeur de la clé, la syntaxe est "array_flip(array_flip($arr))";3. Profitant de la fonctionnalité non répétable du nom de clé du tableau PHP, utilisez l'instruction foreach pour inverser deux fois le nom de clé et la position de la valeur clé du tableau.
L'environnement d'exploitation de ce tutoriel : système Windows 7, version PHP 8, ordinateur DELL G3
php fournit plusieurs méthodes pour supprimer les éléments en double d'un tableau. Découvrons-le ci-dessous.
Méthode 1 : Utilisez la fonction array_unique() pour dédupliquer le tableau
La fonction array_unique() est utilisée pour supprimer les valeurs en double dans le tableau. Si deux ou plusieurs valeurs du tableau sont identiques, seule la première valeur est conservée et les autres valeurs sont supprimées.
Remarque : le tableau conservé conservera le type de clé du premier élément du tableau.
<?php header("content-type:text/html;charset=utf-8"); $array = array(1,2,3,3,4,2,3,5,6,4,5,7,8,9,10); var_dump($array); $result = array_unique($array); echo "删除重复元素后的数组"; //var_dump(array_values($filtered_array)); var_dump($result); ?>
Méthode 2 : Utiliser la fonction array_flip()
La fonction array_flip() est utilisée pour inverser/échanger les noms de clés dans le tableau et les valeurs de clés associées correspondantes.
Il a une fonctionnalité selon laquelle si deux valeurs du tableau sont identiques, alors la dernière clé et la dernière valeur seront conservées après l'inversion. En utilisant cette fonctionnalité, nous l'utilisons pour réaliser indirectement la déduplication du tableau.
<?php header("content-type:text/html;charset=utf-8"); $a = array(1, 5, 2, 5, 1, 3, 2, 4, 5); // 输出原始数组 echo "原始数组 :"; var_dump($a); // 通过使用翻转键和值移除重复值 $a = array_flip($a); // 通过再次翻转键和值来恢复数组元素 $a = array_flip($a); // 重新排序数组键 $a = array_values($a); // 输出更新后的数组 echo "更新数组 :"; var_dump($a); ?>
Méthode 3 : Utilisez l'instruction foreach pour inverser deux fois les noms de clés et les positions de valeurs clés du tableau
Étape 1 : Définissez 2 tableaux vides pour stocker les noms de clés et les valeurs de clés inversé deux fois Valeur clé
$res1=[]; $res2=[];
Étape 2 : Utilisez l'instruction foreach pour parcourir le tableau d'origine, attribuez le nom de clé et la valeur de clé du tableau d'origine à un tableau vide comme valeur de clé et nom de clé
foreach ($array as $k1 => $v1){ //在每次循环中会将当前数组的值赋给 $v1,键名赋给 $k1 $res1[$v1]=$k1; }
Vous obtiendrez un tableau avec nom de clé inversé et valeur de clé
Étape 3 : utilisez l'instruction foreach pour parcourir le tableau inversé et attribuez le nom de clé et la valeur de clé du tableau inversé à un autre tableau vide comme valeur de clé et nom de clé
foreach ($res1 as $k2 => $v2){ $res2[$v2]=$k2; }
Implémenter le code
<?php header("content-type:text/html;charset=utf-8"); function f($arr){ var_dump($arr); $res1=[]; $res2=[]; foreach($arr as $k1=>$v1){ $res1[$v1]=$k1; } foreach ($res1 as $k2 => $v2){ $res2[$v2]=$k2; } echo "去重后的数组:"; var_dump($res2); } $arr=array(1,2,3,4,5,4,3,2,1,0); f($arr); ?>
Apprentissage recommandé : "Tutoriel vidéo PHP"
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!