Array Einzigartigen Assoziativen Array Duplikate Entfernen
Ich habe ein assoziatives array mit einigen doppelten Einträgen. Ich habe zum Beispiel:
<?
$group_array = array('user_id'=>array(), 'user_first'=>array());
Die Ausgänge so etwas wie unten:
Array
(
[user_id] => Array
(
[0] => 594
[1] => 597
[2] => 594
)
[user_first] => Array
(
[0] => John
[1] => James
[2] => John
)
)
Möchte ich bereinigen, das gesamte array, so dass nur der Benutzer " John wird zeigen, einmal (basierend auf user_id).
Ich habe versucht, die folgenden:
<?php
$unique = array_unique($group_array);
print_r($unique);
Aber es scheint nicht zu funktionieren. Andere Ideen, wie ich kann entfernen Sie doppelte Elemente im array?
Jede Hilfe wäre toll!
InformationsquelleAutor Dodinas | 2011-02-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ein anderer Ansatz wäre, um die eindeutigen
user_id
s, und vor allem in Ihrer Anordnung Tasten, dann halten Sie nur die entsprechenden Werte aus einzelnen Spalten.InformationsquelleAutor salathe
Paar Dinge:
dem array_unique Funktion nicht rekursiv in die nachfolgenden sub-arrays
Lesen Sie das Handbuch: http://php.net/manual/en/function.array-unique.php
"Zwei Elemente als gleich angesehen, wenn (string) $elem1 === (string) $elem2. In Worten: wenn die string-Darstellung ist die gleiche. Das erste element verwendet werden."
In Ihrem Fall $elem1 und $elem2 sind beide arrays
InformationsquelleAutor Deep Kapadia
Dieses Skript entfernt Duplikate auf user_id und hält mehrere
Vornamen, wenn Sie Ihre ids sind unterschiedlich:
Ausgabe:
InformationsquelleAutor Toto
Eine mögliche Lösung ist die Verwendung der Filterung Nebeneffekt
array_combine(...)
:So dass wir das array
Zur Wiederherstellung der ursprünglichen Struktur, die wir einfach extrahieren können, die Schlüssel und Werte:
Ergebnis:
InformationsquelleAutor automatix