So entfernen Sie doppelte Werte aus einem Array in PHP

Lesezeit: 2 Minuten

So entfernen Sie doppelte Werte aus einem Array in PHP
Jan

Wie kann ich doppelte Werte aus einem Array in PHP entfernen?

Verwenden array_unique().

Beispiel:

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

  • @Ian – Note that array_unique() is not intended to work on multi dimensional arrays.

    – Peter Ajtai

    19. August 2010 um 19:45 Uhr

  • Das Obige bewahrt die Schlüssel der Elemente. Wenn Sie möchten, dass sie neu indiziert werden, wenden Sie zusätzlich array_values ​​an: php.net/manual/en/function.array-values.php

    – CodeVirtuose

    11. Januar 2012 um 13:48 Uhr

  • Das hat bei mir nicht funktioniert, bitte verwenden Sie: $array = array_unique($array, SORT_REGULAR);

    – iniravpatel

    12. Januar 2017 um 18:56 Uhr


  • @PeterAjtai: Vielen Dank für die Hervorhebung im Kommentarbereich. Es hat mir viel Zeit gespart.

    – Nana Partykar

    12. Dezember 2018 um 15:08 Uhr


1646955845 754 So entfernen Sie doppelte Werte aus einem Array in PHP
Nimey Sara Thomas

Verwenden array_values(array_unique($array));

array_unique: für eindeutiges Array
array_values: zum Neuindizieren

  • +1 array_unique gibt ein Objekt mit Schlüssel-Wert-Paaren AND zurück array_values gibt nur Werte als Array zurück.

    – Narainsagar

    21. September 2018 um 17:16 Uhr

So entfernen Sie doppelte Werte aus einem Array in PHP
Chim

//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 )

1646955846 915 So entfernen Sie doppelte Werte aus einem Array in PHP
iniravpatel

Das einzige was bei mir funktioniert hat ist:

$array = array_unique($array, SORT_REGULAR);

Bearbeiten : SORT_REGULAR behält die gleiche Reihenfolge des ursprünglichen Arrays bei.

$result = array();
foreach ($array as $key => $value){
  if(!in_array($value, $result))
    $result[$key]=$value;
}

1646955846 787 So entfernen Sie doppelte Werte aus einem Array in PHP
Zeitlose Essenz

manchmal array_unique() ist nicht der Weg, wenn Sie wollen Erhalten Sie einzigartige UND duplizierte Artikel

$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

Ergebnisse auf

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

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

Wir können einen solchen Array-Typ erstellen, um diesen letzten Wert zu verwenden, der in Spalten- oder Schlüsselwert aktualisiert wird, und wir erhalten einen eindeutigen Wert aus dem Array …

$array = array (1,3,4,2,1,7,4,9,7,5,9);
    $data=array();
    foreach($array as $value ){

        $data[$value]= $value;

    }

    array_keys($data);
    OR
    array_values($data);

989300cookie-checkSo entfernen Sie doppelte Werte aus einem Array in PHP

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy