Seite 1 von 1

PHP: Problem mit ausgeben eines mehrdimensionalen Arrays

Verfasst: 06.01.2007, 17:52
von chris21
Folgendes Problem, ich habe einen Array $stadtundplz, in dem alle Städte und alle Postleitzahlen aufgeführt sind.

Dabei ist die Stadt der Schlüssel, die PLZ der Wert.

Da es jedoch zu jeder Stadt mehr als eine PLZ gibt, gibt es den Schlüssel einer Stadt eben öfters, jeweils mit den verschiedenen PLZ der Stadt als Wert.

ein print_r des $stadtundplz würde daher bisher folgendes ausgeben:

Code: Alles auswählen

Array ( ['Bremen'] => 28195 ) Array ( ['Bremen'] => 28359 ) Array ( ['Karlsruhe'] => 74131 ) Array ( ['Hannover'] => 30449 )
und so weiter und so fort.

Nun will ich aber diesen Array so ausgeben, dass erst der Stadtname ausgeben wird und dann alle Werte dieses Stadtnamens,
also
Bremen: 28195, 28359
Hannover: 30449,
Karlsruhe: 74131

etc.

Ich habe bisher (mit foreach) nur geschafft, so was auszugeben:

Bremen: 28195,
Bremen: 28359,
Hannover: 30449,
Karlsruhe: 74131,

etc.

Wie kann ich aber eine Ausgabe wie oben erreichen?

Verfasst:
von
SEO Consulting bei ABAKUS Internet Marketing
Erfahrung seit 2002
  • persönliche Betreuung
  • individuelle Beratung
  • kompetente Umsetzung

Jetzt anfragen: 0511 / 300325-0.


Verfasst: 06.01.2007, 18:04
von Southmedia
Erstmal anhand der Schlüssel sortieren damit alle Bremen hintereinander liegen.

Dann eine Hilfvariable "letzte_stadt" einführen, bei jedem Schleifendurchlauf wird geschaut was da drin steht. Wenn es die selbe Stadt ist wird der aktuelle Städtename nicht nochmal ausgegeben, wenn es eine andere Stadt ist wird ausgegeben und die gerade ausgegebene Stadt wird in "letzte_stadt" gespeichert.

Verfasst: 06.01.2007, 18:19
von chris21
Danke Jan,

den ersten Deiner Punkte (Sortierung) habe ich schon hin bekommen, werde mich jetzt an die Schleifen-Konstruktion mit Hilfsvariable setzen, klingt nach einer guten Idee.

Vielen Dank.

:)

Verfasst: 06.01.2007, 19:20
von net(t)worker
ich weis ja jetzt nicht wie tief du in die Aufteilung bei den Orten gegangen bist... aber es gibt einige Ortsnamen die auch öffters in Deutschland vorkommen, da würdeste dann ganz seltsame Postleitzahlen bekommen, wenn du die alle als 1 ort zusammenfassen würdest...