Wie kann ich doppelte Werte aus einem Array in PHP entfernen?
155
Verwenden Sie array_unique () .
Beispiel:
$array = array(1, 2, 2, 3);
$array = array_unique($array); // Array is now (1, 2, 3)
Note that array_unique() is not intended to work on multi dimensional arrays.
$array = array_unique($array, SORT_REGULAR);
Verwenden
array_values(array_unique($array));
array_unique
: für eindeutiges Arrayarray_values
: für die Neuindizierungquelle
array_unique
gibt ein Objekt mit Schlüssel- und Wertepaaren zurück UND gibtarray_values
nur Werte als Array zurück.quelle
Das einzige, was für mich funktioniert hat, ist:
Bearbeiten:
SORT_REGULAR
Behält die gleiche Reihenfolge wie das ursprüngliche Array bei.quelle
quelle
Manchmal
array_unique()
ist das nicht der richtige Weg, wenn Sie eindeutige UND duplizierte Artikel erhalten möchten ...Ergebnisse auf
quelle
Wir können einen solchen Array-Typ erstellen, um diesen letzten Wert zu verwenden. Er wird in einen Spalten- oder Schlüsselwert aktualisiert und erhält einen eindeutigen Wert aus dem Array ...
quelle
explode(",", implode(",", array_unique(explode(",", $YOUR_ARRAY))));
Dies kümmert sich um Schlüsselzuordnungen und serialisiert die Schlüssel für das resultierende neue Array :-)
quelle
explode("," $YOUR_ARRAY)
wenn$YOUR_ARRAY
istarray("1", "2", "3")
?Abhängig von der Größe Ihres Arrays habe ich gefunden
kann schneller sein als array_unique.
quelle
Das ist eine großartige Möglichkeit, dies zu tun. Vielleicht möchten Sie sicherstellen, dass die Ausgabe wieder ein Array ist. Jetzt zeigen Sie nur den letzten eindeutigen Wert an.
Versuche dies:
quelle
Überprüfen Sie den Wert zum ersten Mal im Array und finden Sie den gleichen Wert. Ignorieren Sie ihn
quelle
Entfernen Sie doppelte Werte aus einem assoziativen Array in PHP.
Array ([0] => aaa-aaa [1] => 12/1/1 [2] => 1,15)
quelle
Es gibt mehrere Möglichkeiten, dies zu tun:
quelle
Wenn Sie Bedenken hinsichtlich der Leistung haben und ein einfaches Array haben, verwenden Sie:
Es ist um ein Vielfaches schneller als array_unique.
quelle
quelle
quelle
quelle
Probieren Sie diesen kurzen und süßen Code aus -
Ausgabe -
quelle
if
.quelle
Hier habe ich ein zweites leeres Array erstellt und eine
for
Schleife mit dem ersten Array verwendet, das Duplikate enthält. Es wird so oft ausgeführt wie die Anzahl des ersten Arrays. Dann verglichen mit der Position des Arrays mit dem ersten Array und übereinstimmend, dass es dieses Element bereits hat oder nicht, indem es verwendetin_array
. Wenn nicht, wird dieses Element dem zweiten Array mit hinzugefügtarray_push
.quelle
foreach
Schleife?foreach
weil ich mich mit for-Schleifen sehr wohl fühle. Das ist es.Dies kann durch die Funktion erfolgen. Ich habe drei Funktionsduplikate erstellt, die die Werte zurückgeben, die im Array doppelt vorhanden sind.
Die zweite Funktion single gibt nur die Werte zurück, bei denen es sich um einzelne Werte handelt, die im Array nicht wiederholt werden, und die dritte und die vollständige Funktion geben alle Werte zurück, werden jedoch nicht dupliziert, wenn ein Wert dupliziert wird. Sie konvertieren ihn in single.
quelle
ref: Demo
quelle
Eine Alternative für die Funktion array_unique ().
Verwenden des Brute-Force-Algorithmus
quelle
Ich habe dies ohne Verwendung einer Funktion getan.
quelle