mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Do 28.03.2024 19:34 Benutzername: Passwort: Auto-Login

Thema: PHP: Doppelte Einträge aus in einem Array ausgeben vom 09.06.2008


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> PHP: Doppelte Einträge aus in einem Array ausgeben
Autor Nachricht
AndiN
Threadersteller

Dabei seit: 31.05.2005
Ort: -
Alter: 41
Geschlecht: Männlich
Verfasst Mo 09.06.2008 21:30
Titel

PHP: Doppelte Einträge aus in einem Array ausgeben

Antworten mit Zitat Zum Seitenanfang

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?
  View user's profile Private Nachricht senden
pRiMUS

Dabei seit: 09.09.2003
Ort: Vienna
Alter: 48
Geschlecht: Männlich
Verfasst Mo 09.06.2008 21:53
Titel

Antworten mit Zitat Zum Seitenanfang

mit array unique ein neues array erstellen ohne doppelte inhalte und mit array_diff den unterschied zwischen den beiden arrays ausgeben lassen.
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Mo 09.06.2008 22:22
Titel

Antworten mit Zitat Zum Seitenanfang

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);
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
AndiN
Threadersteller

Dabei seit: 31.05.2005
Ort: -
Alter: 41
Geschlecht: Männlich
Verfasst Di 10.06.2008 00:23
Titel

Antworten mit Zitat Zum Seitenanfang

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);
  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Di 10.06.2008 07:29
Titel

Antworten mit Zitat Zum Seitenanfang

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.... *zwinker*
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
m
Moderator

Dabei seit: 18.11.2004
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst Di 10.06.2008 10:22
Titel

Antworten mit Zitat Zum Seitenanfang

Hm, mag sein dass ich mich täuschen, nein, auf keinen Fall, das funktioniert nicht. *bäh*

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
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Di 10.06.2008 10:39
Titel

Antworten mit Zitat Zum Seitenanfang

m hat geschrieben:
Hm, mag sein dass ich mich täuschen, nein, auf keinen Fall, das funktioniert nicht. *bäh*

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 Ooops


edit: ups, und diesmal hab ich 10 min für meine erkenntnis gebraucht *ha ha*


Zuletzt bearbeitet von pixelpapst303 am Di 10.06.2008 10:40, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ä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
Neues Thema eröffnen   Neue Antwort erstellen
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.