Maison >développement back-end >Problème PHP >Comment supprimer les éléments en double du tableau en php

Comment supprimer les éléments en double du tableau en php

青灯夜游
青灯夜游original
2023-01-12 15:26:571917parcourir

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.

Comment supprimer les éléments en double du tableau en php

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);
?>

Comment supprimer les éléments en double du tableau en php

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);
?>

Comment supprimer les éléments en double du tableau en php

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);
?>

Comment supprimer les éléments en double du tableau en php

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!

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