206 votes

Comment faire pour supprimer les valeurs en double à partir d'un tableau en PHP

Comment puis-je supprimer les valeurs en double à partir d'un tableau en PHP?

331voto

Jeremy Ruten Points 59989

Utilisation array_unique().

Exemple:

$array = array(1, 2, 2, 3);
$array = array_unique($array); // Array is now (1, 2, 3)

31voto

chim Points 1799
//Find duplicates 

$arr = array( 
    'unique', 
    'duplicate', 
    'distinct', 
    'justone', 
    'three3', 
    'duplicate', 
    'three3', 
    'three3', 
    'onlyone' 
);

$unique = array_unique($arr); 
$dupes = array_diff_key( $arr, $unique ); 
    // array( 5=>'duplicate', 6=>'three3' 7=>'three3' )

// count duplicates

array_count_values($dupes); // array( 'duplicate'=>1, 'three3'=>2 )

5voto

iim.hlk Points 1299

parfois, array_unique() n'est pas le chemin, si vous souhaitez obtenir unique ET les éléments dupliqués...

$unique=array("","A1","","A2","","A1","");
$duplicated=array();

foreach($unique as $k=>$v) {

if( ($kt=array_search($v,$unique))!==false and $k!=$kt )
 { unset($unique[$kt]);  $duplicated[]=$v; }

}

sort($unique); // optional
sort($duplicated); // optional

les résultats sur

array ( 0 => '', 1 => 'A1', 2 => 'A2', ) /* $unique */

array ( 0 => '', 1 => '', 2 => '', 3 => 'A1', ) /* $duplicated */

3voto

THIRAIVYAM Points 31
$array = array("Ram","Thiru","Ram","Thiraviya");
$array = array_unique($array);

Sortie:

"Ram","Thiru","Thiraviya"

2voto

Deb Points 199

explode(",", implode(",", array_unique(explode(",", $YOUR_ARRAY))));

Cela va prendre soin de clé d'associations et de sérialiser les clefs pour la nouvelle table :-)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X