So entfernen Sie alle Instanzen duplizierter Werte aus einem Array

7

Ich weiß, dass es array_unique function gibt, aber ich möchte Duplikate entfernen. Gibt es eine eingebaute Funktion oder muss ich meine eigene rollen?

Beispieleingabe:

%Vor%

Erwartete Ausgabe:

%Vor%     
Aivan Monceller 14.10.2010, 13:41
quelle

9 Antworten

12

Sie können eine Kombination aus array_unique , % verwenden. co_de% und array_diff_assoc :

%Vor%     
Gumbo 14.10.2010, 13:55
quelle
4

Sie können

verwenden %Vor%

Siehe

Gordon 14.10.2010 13:42
quelle
2

Schreiben Sie einfach Ihre eigene einfache foreach-Schleife:

%Vor%

Viel Spaß:)

    
Hannes 14.10.2010 13:51
quelle
1

Wenn Sie nur Werte im Array beibehalten möchten, die bereits eindeutig sind, anstatt nur eine eindeutige Instanz für jeden Wert auszuwählen, müssen Sie in der Tat eine eigene Instanz erstellen. Integrierte Funktionalität ist nur dazu da, Wertsets zu bereinigen anstatt zu filtern.

    
JTrott 14.10.2010 13:47
quelle
1

Sie möchten alle Einträge entfernen, die Duplikate enthalten, sodass Sie nur die Einträge erhalten, die in der Liste eindeutig waren? Hmm, es klingt wie etwas, das du selbst rollen musst.

    
bigp 14.10.2010 13:47
quelle
1

Es gibt keine bestehende Funktion; Sie müssen dies in zwei Durchgängen tun, einen zum Zählen der eindeutigen Werte und einen zum Extrahieren der eindeutigen Werte:

%Vor%     
meagar 14.10.2010 13:50
quelle
0

Die Antwort oben sieht gut aus, aber nebenbei bemerkt: Wenn Sie jemals Duplikate eliminieren, aber die erste verlassen wollen, wäre die Verwendung von array_flip zweimal eine ziemlich einfache Möglichkeit. array_flip (array_flip (x))

    
jon_darkstar 14.10.2010 16:09
quelle
0

Nur teilweise relevant für diese spezielle Frage - aber ich habe diese Funktion aus Gumbo's Antwort für multidimensionale Arrays erstellt:

%Vor%

In diesem Beispiel hatte ich zwischengespeicherte Status und jeder andere als der Standardwert war 0 (der Standardwert war 1). Ich indexiere das Array default aus den IDs und wandle es dann in eine Zeichenfolge um. Um das klarzustellen - das zurückgegebene Ergebnis davon ist die ID des Standardstatus, vorausgesetzt, es befindet sich im selben Teil des multidimensionalen Arrays und nicht in seinem Schlüssel

    
Chris98 20.12.2015 13:07
quelle
-1

PHP.net Ссылка

  

array array_unique ( array $array [, int $sort_flags = SORT_STRING ] )

     

Nimmt ein Eingabearray und gibt ein neues Array ohne doppelte Werte zurück.

Neue Lösung:

%Vor%     
Thom Wiggers 14.10.2010 13:46
quelle

Tags und Links