Ich habe ein multidimensionales Array und ich möchte nur die Einträge mit den meisten Duplikate zu halten. Der nächste, den ich bekam, war:Return-Array enthält Duplikate PHP
$wd = array_unique($arr);
$d = array_diff($arr, $wd);
print_r($d);
aber das funktioniert nur für eindimensionale Arrays und gibt alle Duplikate aus. Wie würde ich das machen?
Beispiele für gewünschten Ausgang:
wenn das Array ist:
array(
[1] => (
[u] => test1u
[d] => test1d
)
[2] => (
[u] => test2u
[d] => test2d
)
[3] => (
[3] => test3u
[3] => test3d
)
[1] => (
[u] => test1u
[d] => test1d
)
)
es array([1] => ([u] => test1u [d] => test1d))
und wenn das Array zurückgeben sollte:
array(
[1] => (
[u] => test1u
[d] => test1d
)
[2] => (
[u] => test2u
[d] => test2d
)
[3] => (
[3] => test3u
[3] => test3d
)
[1] => (
[u] => test1u
[d] => test1d
)
[2] => (
[u] => test2u
[d] => test2d
)
)
soll es array([1] => ([u] => test1u [d] => test1d)[2] => ([u] => test2u [d] => test2d))
zurückkehren
aber wenn das Array:
array(
[1] => (
[u] => test1u
[d] => test1d
)
[2] => (
[u] => test2u
[d] => test2d
)
[3] => (
[3] => test3u
[3] => test3d
)
[1] => (
[u] => test1u
[d] => test1d
)
[2] => (
[u] => test2u
[d] => test2d
)
[1] => (
[u] => test1u
[d] => test1d
)
)
sollte es nur array([1] => ([u] => test1u [d] => test1d))
zurückkehren
EDIT:
gibt es doppelte Einträge in dem Array, da das Array von $arr = json_decode($arr);
kam und die ursprüngliche JSON hatte Duplikat Einträge. Wenn es einen besseren Weg gibt, dies zu tun, ohne den JSON zu dekodieren, lass es mich wissen.
Dies wird als Teil eines Suchprogramms verwendet. JSON ist ein Array aller Einträge aus dem Quell-Array, die die Kriterien für einen der Suchbegriffe erfüllen. Wenn Sie die Einträge mit den meisten Duplikaten beibehalten, ist sichergestellt, dass diese Einträge die meisten, wenn nicht alle Suchbegriffe enthalten.
hier die JSON-Datei decodiert werden:
[{"1":[{"u":"testing","d":"2017\/04\/27","st":"Test","i":"roses","v":"1","t":"org","sp":"N\/A","k":"0","img":"--"}]},{"2":[{"u":"testing","d":"2017\/04\/27","st":"Test","i":"roses","v":"1","t":"org","sp":"N\/A","k":"0","img":"--"}]},{"5":[{"u":"testing","d":"2017\/04\/27","st":"Test","i":"roses daffodil","v":"1","t":"org","sp":"N\/A","k":"0","img":"--"}]},{"3":[{"u":"testing","d":"2017\/04\/27","st":"Test","i":"daffodil","v":"1","t":"org","sp":"N\/A","k":"0","img":"--"}]},{"4":[{"u":"testing","d":"2017\/04\/27","st":"Test","i":"daffodil","v":"1","t":"org","sp":"N\/A","k":"0","img":"--"}]},{"5":[{"u":"testing","d":"2017\/04\/27","st":"Test","i":"roses daffodil","v":"1","t":"org","sp":"N\/A","k":"0","img":"--"}]},{"6":[{"u":"testing","d":"2017\/04\/27","st":"Test","i":"roses daffodil","v":"1","t":"org","sp":"N\/A","k":"0","img":"--"}]}]
in diesem Fall ist die Suche, die diese JSON für „Rosen Narzisse“
gemacht war
Tun Sie eine 'var_export()' und aktualisieren Sie Ihre Frage, wenn möglich, wäre hilfreich. –
Wie könnte ein Array mit Duplikaten Schlüssel sein? – hassan
Wenn mehrere Instanzen desselben Schlüssels in einem Array vorhanden sind, werden sie überschrieben. Indizes müssen eindeutig sein. – Qirel