php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.09.2006, 18:06  
Neuer Benutzer
 
Registriert seit: 07.09.2006
Beiträge: 24
Ticos
Standard Arrays sortieren, Bezeichnung, Preis

Hey Leute,

habe ein kleines Problem mit der Sortierung von Arrays. Bin eigentlich kein Anfänger, aber da ich seit gestern morgen schon 24 stunden vor dem 20 000 Zeilen Code verbracht habe, hüllt sich mein Denkvermögen in Schweigen über diese Angelegenheit.

Es handelt sich um mehrere multidimensionale Arrays der Form:
PHP-Code:
   
Array ( [bezeichnung] => 26.11.2006 1860 München Koblenz Allianz Arena [artikelnr] => 28 [preis] => 23 [mwst] => [beschreibung] => [bild] => [detailbeschreibung] => Termin wird bekannt gegeben Sitz Block 239 [detailbild] => [templatefile_smalllist] => Array([........])); 
PHP-Code:
Array ( [bezeichnung] => 12.11.2006 1860 München Paderborn Allianz Arena [artikelnr] => 25 [preis] => 28 [mwst] => [beschreibung] => [bild] => [detailbeschreibung] => Termin wird bekannt gegeben Sitz Block 235 [detailbild] => [templatefile_smalllist] => Array([........])) 
Hat jemand eine Idee, wie ich diese Arrays der Bezeichnung und als zweites Kriterium des Preises ordnen kann? Also in diesem Fall müsste ja das zweite Array vor das erste, und das Datum müsste auch richtig erkannt werden, nicht dass der 12.09.2006 nach dem 01.02.2007 kommt.

Mit freundlichen Grüßen und vielen sich im Tiefschlaf befindlichen grauen Zellen,
Peter
Ticos ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 07.09.2006, 18:39  
Erfahrener Benutzer
 
Registriert seit: 09.03.2005
Beiträge: 219
webbi
Standard

Wenn du zuerst nach dem Datum sortieren willst ist der Aufbau des Arrays nicht sehr gut.
Du solltest zuerst für das Datum ein eigenes Element definieren und es dann im passenden Format YYYYMMDD oder als Timestamp abspeichern. Dann gibt es auch kein Problem nach dem Datum zu sortieren.

Wenn das erledigt ist, sollte die restliche Sortierung des Arrays kein Problem sein, hier helfen dir die Funktionen usort oder array_multisort weiter.
webbi ist offline  
Alt 07.09.2006, 18:53  
Neuer Benutzer
 
Registriert seit: 07.09.2006
Beiträge: 24
Ticos
Standard

Hallo webbi,

Danke für Deine Antwort.
Daran dachte ich auch schon, aber der Shop (den ich nicht programmiert habe) ist sehr komplex. Der arrayaufbau ist essentiell, weil der array noch durch eine Hand voll handler gespült wird, die diesen Aufbau erwarten.
Hatte schon daran gedacht, das datum herauszuziehen, einen timestamp daraus zu machen und dann zu ordnen. aber wie bekomme ich die daten dann wieder dahinter? Das wäre eine riesen action.

Hat vielleicht jemand noch einen Einfall dazu?
Ticos ist offline  
Alt 07.09.2006, 19:31  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Zieh das Datum doch einfach raus und erstelle ein neues array-element. Da die anderen Handler dieses nicht erwarten, werden sie darauf auch nicht zugreifen. Sollte es doch ein Problem geben, kannst du es ja nach Sortierung wieder entfernen

- Datum rausziehen, eigentliche Bezeichnung rausziehen
- Neues Element mit Datum (als timestamp oder YYYYMMDD) und neues Element mit eigentlicher Bezeichnung
- Sortieren nach a) Datum b) Bezeichnung c) Preis
- Neue Elemente bei Bedarf entfernen.
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 07.09.2006, 19:37  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Per preg_match o. dergl. ein weiteres (indizierendes) Array erstellen, mit einem Schlüssel wie YYYYMMDD_Preis, dabei Preis vielleicht via sprintf auf x Stellen vor dem Komma mit Null auffüllen. In den Value kommt der Index des Ursprungsarrays, ksort() und mit foreach auslesen... ?
nikosch ist gerade online  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
eindimensionale arrays sortieren webazubi PHP Tipps 2007 5 23.03.2007 18:11
Sortieren eines Arrays mittels Funktion ? madSoul PHP Tipps 2007 16 22.02.2007 11:49
Array sortieren Apfeltyp PHP Tipps 2006 29 07.05.2006 23:50
Fehlermeldung beim Sortieren meines Arrays... GELight PHP Tipps 2006 5 27.04.2006 22:08
[Erledigt] 2 Arrays miteinander vergleichen PHP Tipps 2007 3 17.12.2005 16:54
Arrays alphabetisch sortieren seven-12 PHP Tipps 2007 4 17.11.2005 14:33
Sortieren von Arrays mit mehr als 2 Dimensionen (Teil 2) Buhmann PHP-Fortgeschrittene 4 12.07.2005 14:03
Sortieren von Arrays mit mehr als 2 Dimensionen PHP-Fortgeschrittene 8 05.07.2005 16:48
sortieren von arrays aus mysql Datenbanken 7 28.04.2005 21:53
vom double zu int bei preis Mutatos PHP Tipps 2005 3 06.01.2005 16:50
5 assosiative arrays gleichzeitig sortieren PHP Tipps 2004-2 2 13.12.2004 14:07
Arrays nachträglich (Inhalte) zählen und sortieren Gumfuzi PHP Tipps 2004-2 3 20.11.2004 00:00
[Erledigt] Preis gestaffelt berechnen in PHP PHP Tipps 2004-2 5 09.11.2004 14:23
Preis in einem Shop (Computer-Konfigurator) aktualisieren PHP Tipps 2004 10 27.09.2004 14:33
Mehrdimensionale Arrays sortieren Borlox PHP Tipps 2004 5 23.09.2004 14:52

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
allianz arena block 239, php array mit bezeichnungen, php preise sortieren, allianz arena block 235, http://www.php.de/php-tipps-2006/42001-arrays-sortieren-bezeichnung-preis.html, php sortieren nach preis, php nach preis sortieren, allianz arena block 235 reihe 2, php5 preise im array sortieren, php preis und name in array speichern, array nach preis sortieren, php preisliste array, php bilder array ordnen, php sortieren preis, block 235 in der allianz arena gut?, allianz arena rang 235 reihe 22 platz 18, php array in blöcke teilen, preis-arrays, php array sort nach preis, block sortierung arrays.sort

Alle Zeitangaben in WEZ +1. Es ist jetzt 13:56 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.