Autor |
Nachricht |
AndiN
Threadersteller
Dabei seit: 31.05.2005
Ort: -
Alter: 41
Geschlecht:
|
Verfasst Mo 09.06.2008 21:30
Titel PHP: Doppelte Einträge aus in einem Array ausgeben |
|
|
Hallo Leute,
ich habe ein Array voller IDs und möchte die doppelten Werte aus diesem Array in einem neuen Array ausgeben lassen.
Beispiel:
$array_originale = array(2,5,1,16,2,310,5);
$array_doppelwerte = array(2,5);
Hat sich jemand von euch schonmal Gedanken darüber gemacht?
|
|
|
|
|
pRiMUS
Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht:
|
Verfasst Mo 09.06.2008 21:53
Titel
|
|
|
mit array unique ein neues array erstellen ohne doppelte inhalte und mit array_diff den unterschied zwischen den beiden arrays ausgeben lassen.
|
|
|
|
|
Anzeige
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Mo 09.06.2008 22:22
Titel
|
|
|
pRiMUS hat geschrieben: | mit array unique ein neues array erstellen ohne doppelte inhalte und mit array_diff den unterschied zwischen den beiden arrays ausgeben lassen. |
Wie?
Code: | $array = array(2,5,1,16,2,310,5);
$vc = array_count_values($array);
$result = array();
foreach($vc as $key => $value) {
if($value > 1)
array_push($result, $key);
}
print_r($result); |
|
|
|
|
|
AndiN
Threadersteller
Dabei seit: 31.05.2005
Ort: -
Alter: 41
Geschlecht:
|
Verfasst Di 10.06.2008 00:23
Titel
|
|
|
Danke für die Inspirationen. Ich habe es jetz wie folgt gelöst:
Code: | $array_treffer_id = explode(";",$treffer_ids);
array_pop($array_treffer_id);
$array_copy = $array_treffer_id;
$array_treffer_ids = array();
for($i=0;$i<count($array_treffer_id)-1;$i++)
{
for($j=$i+1;$j<count($array_treffer_id);$j++)
{
if($array_treffer_id[$j] == $array_treffer_id[$i])
{
array_push($array_treffer_ids,$array_treffer_id[$j]);
}
}
}
if($array_treffer_ids[0] =="")
{
$array_treffer_ids = $array_copy;
}
$eintraege = count($array_treffer_ids);
|
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
Verfasst Di 10.06.2008 07:29
Titel
|
|
|
m hat geschrieben: | pRiMUS hat geschrieben: | mit array unique ein neues array erstellen ohne doppelte inhalte und mit array_diff den unterschied zwischen den beiden arrays ausgeben lassen. |
Wie?
|
sollte doch och gehen...?
Code: |
print_r(array_diff($array_originale,array_unique($array_originale)));
|
oder so....
|
|
|
|
|
m
Moderator
Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 10.06.2008 10:22
Titel
|
|
|
Hm, mag sein dass ich mich täuschen, nein, auf keinen Fall, das funktioniert nicht.
array_diff untersucht die Arrays auf unters. Werte.
Code: | $result = array_diff(array(1,2,3),array(2,3,4));
print_r($result); # 4 |
Zuletzt bearbeitet von m am Di 10.06.2008 10:30, insgesamt 2-mal bearbeitet
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
Verfasst Di 10.06.2008 10:39
Titel
|
|
|
m hat geschrieben: | Hm, mag sein dass ich mich täuschen, nein, auf keinen Fall, das funktioniert nicht.
array_diff untersucht die Arrays auf unters. Werte.
Code: | $result = array_diff(array(1,2,3),array(2,3,4));
print_r($result); # 4 |
|
täuscht dich nicht....
geht hier ja nicht um ein diff der werte, sondern der häufigkeit und positionen. das zeigt array_diff() nicht an... aber guck mal auf meine uhrzeit - da waren solche vermutungenn noch erlaubt
edit: ups, und diesmal hab ich 10 min für meine erkenntnis gebraucht
Zuletzt bearbeitet von pixelpapst303 am Di 10.06.2008 10:40, insgesamt 2-mal bearbeitet
|
|
|
|
|
|
|
|
Ähnliche Themen |
xpath - doppelte einträge ausschließen, hinzufügen
Häufigkeit von Zeichen in Array ausgeben?
Fieses PHP/MySQL-Skript gibt nur "Array Array Array..." aus
Die Letzten 5 Einträge in SQL
pornografische einträge im gästebuch
Wordpress: Einträge auslesen
|
|