Maison > développement back-end > Problème PHP > Comment supprimer les valeurs identiques d'un tableau en php

Comment supprimer les valeurs identiques d'un tableau en php

青灯夜游
Libérer: 2023-03-16 22:00:01
original
3740 Les gens l'ont consulté

Trois méthodes : 1. Utilisez array_unique, la syntaxe "array_unique(array)" ; 2. Utilisez array_flip(), la syntaxe "array_flip(array_flip(array))" ; 3. Utilisez foreach et deux tableaux vides, la syntaxe " ; foreach ($arr comme $k1=>$v1){$r1[$v1]=$k1;}foreach($r1 comme $k2=>$v2){$r2[$v2]=$k2;} » .

Comment supprimer les valeurs identiques d'un tableau en php

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 8.1, ordinateur DELL G3

Supprimer les mêmes valeurs​​dans le tableau consiste à supprimer les valeurs en double​​dans le tableau. Il existe de nombreuses façons de supprimer les doublons des tableaux PHP. Présentons-les ci-dessous.

Méthode 1 : Utilisez la fonction de déduplication array_unique()

array_unique() La fonction 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.

array_unique(array,sortingtype)
Copier après la connexion
ParamètresDescription
arrayObligatoire. Spécifie un tableau.
type de trifacultatif. Spécifie le type de tri. Valeurs possibles :
  • SORT_STRING - Par défaut. Traitez chaque élément comme une chaîne.
  • SORT_REGULAR - Triez chaque élément dans l'ordre régulier (ASCII standard, ne change pas de type).
  • SORT_NUMERIC - traitez chaque élément comme un nombre.
  • SORT_LOCALE_STRING - Traitez chaque élément comme une chaîne, en fonction des paramètres régionaux actuels (peut être modifié via setlocale()).

Valeur de retour : renvoie le tableau filtré.​

Exemple : Supprimez les mêmes valeurs

<?php
$arr1 =array("a"=>"Cat",2,"b"=>"Dog","c"=>"Cat",2,3,4,3);
var_dump($arr1);
$arr2=array_unique($arr1);
var_dump($arr2);
?>
Copier après la connexion

Comment supprimer les valeurs identiques dun tableau en php

Méthode 2 : Utilisez 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 clés associées correspondantes.

Le nom de clé du tableau est unique et n'existera pas de manière répétée.

Grâce à cette fonctionnalité, si deux valeurs du tableau sont identiques, la dernière clé et la dernière valeur seront conservées après avoir inversé le tableau, ce qui peut indirectement réaliser la déduplication du tableau.

<?php
$arr =array("a"=>"Cat",2,"b"=>"Dog","c"=>"Cat",2,3,4,3);
var_dump($arr);
$arr1 = array_flip($arr);//先反转一次,去掉重复值
var_dump($arr1);
$arr2 = array_flip($arr1);//再反转回来,得到去重后的数组
var_dump($arr2);
?>
Copier après la connexion

Comment supprimer les valeurs identiques dun tableau en php

La différence entre la méthode 1 et la méthode 2 :

Utilisez array_flip() pour obtenir la dernière clé et la dernière valeur de l'élément répété, et utilisez array_unique pour obtenir la première clé et la première valeur de l'élément répété.

Méthode 3 : utilisez l'instruction foreach et deux tableaux vides

Ou utilisez la fonctionnalité unique des noms de clés, utilisez l'instruction foreach et deux tableaux vides pour inverser les positions des noms de clés et des valeurs clés de le tableau deux fois.

<?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);
?>
Copier après la connexion

Comment supprimer les valeurs identiques dun 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!

Étiquettes associées:
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