Hallo, ich bekomm es einfach nicht hin mein Array zu sortieren!
$feiertageArray[12]['Heilig Abend']=(festefeiertage(24,12,$Jahr));
"festefeiertage" ist eine Funktion welche einen Timestamp zurück gibt.
Jetzt möchte ich dieses Array nach Datum (Timestamp) sortieren, das bekomm ich aber einfach nicht hin :-/
Jemand einen Tipp wie ich das hinbekomme?? (sort($array) ging nicht...)
Gruß, PingOfDeath
Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge
ich verstehe so langsam gar nichts mehr!
Ich bin mir auch nicht sicher, ob ich das ganze verstanden habe so wie Du Dir das vorstellst ;-)
Wenn ich ein zweidimensionales Array (TIMESTAMP / Feiertagsname) habe - steht dann der Feiertagsname in einem seperaten Array welches im ersten Array gespeichert ist????
Nein, das erste/äußere Array in deinem Posting ist $feiertageArray, zumindest unter dem Index 12 befindet sich dann ein weiters (diesmal assoziatives) Array mit der Zuordnung Feiertag=>Timestamp (und die willst Du sortieren, wenn ich das richtig verstanden habe?)...
Ich habe mir folgende Funtion geklaut:
An der Stelle *HIER* würde ich jetzt selber gerne einen Bubblesort schreiben
Hm, also ich sehe da erstmal absolut keinen Grund nicht auf (einer der vielen) Sortierfunktionen von PHP zurück zu greifen. Abgesehen davon: Für sowas was Du vorhast wäre array_walk(...) eigentlich genau das richtige
weil ich u.a. folgendes nicht verstehe:
..... echobild $value (an der Stelle *HIER*) gibt mir die ganzen Timestamps aus .... bei echo $key bekomme ich die Feiertagsnamen.
Ich muß gestehen, daß mir das Problem nicht ganz klar ist - du bekommst doch genau das raus was zu erwartet ist nachdem Du das Array in der oben gezeigten Form gefüllt hast?!
Aber: Wie greife ich innerhalb der Funktion auf verschiedene Werte zu?
Machst Du doch bereits wie Deine Experimente mit echo zeigen?
Ich dachte an soetwas wie $array[i+1] etc. .... aber das klappt ja alles nicht.
Um was zu erreichen?
Versteht mich einer :-D ?
Keine Ahnung, ich zumindest nur bedingt....
Mir scheint so als ist mir der Aufbau eines 2D-Arrays nicht ganz klar ....
Also eigentlich gibt es in PHP nur 1D-Arrays, diese kann man aber verschachteln und somit das selbe Erreichen wie mit 2D-Arrays, oder sogar noch mehr (die Inneren Arrays müssen nicht alle gleichlang sein, wie bei 2D-Arrays - was dann ja eine "Rechteckform" ergeben würde).
Zum Verschateln: Man nehme ein "großes" Array, und packe in jedes Feld wiederum ein "kleines" Array rein - eigentlich ganz einfach ;-)
Gruß
Borlander
Ich bin mir auch nicht sicher, ob ich das ganze verstanden habe so wie Du Dir das vorstellst ;-)
Wenn ich ein zweidimensionales Array (TIMESTAMP / Feiertagsname) habe - steht dann der Feiertagsname in einem seperaten Array welches im ersten Array gespeichert ist????
Nein, das erste/äußere Array in deinem Posting ist $feiertageArray, zumindest unter dem Index 12 befindet sich dann ein weiters (diesmal assoziatives) Array mit der Zuordnung Feiertag=>Timestamp (und die willst Du sortieren, wenn ich das richtig verstanden habe?)...
Ich habe mir folgende Funtion geklaut:
An der Stelle *HIER* würde ich jetzt selber gerne einen Bubblesort schreiben
Hm, also ich sehe da erstmal absolut keinen Grund nicht auf (einer der vielen) Sortierfunktionen von PHP zurück zu greifen. Abgesehen davon: Für sowas was Du vorhast wäre array_walk(...) eigentlich genau das richtige
weil ich u.a. folgendes nicht verstehe:
..... echobild $value (an der Stelle *HIER*) gibt mir die ganzen Timestamps aus .... bei echo $key bekomme ich die Feiertagsnamen.
Ich muß gestehen, daß mir das Problem nicht ganz klar ist - du bekommst doch genau das raus was zu erwartet ist nachdem Du das Array in der oben gezeigten Form gefüllt hast?!
Aber: Wie greife ich innerhalb der Funktion auf verschiedene Werte zu?
Machst Du doch bereits wie Deine Experimente mit echo zeigen?
Ich dachte an soetwas wie $array[i+1] etc. .... aber das klappt ja alles nicht.
Um was zu erreichen?
Versteht mich einer :-D ?
Keine Ahnung, ich zumindest nur bedingt....
Mir scheint so als ist mir der Aufbau eines 2D-Arrays nicht ganz klar ....
Also eigentlich gibt es in PHP nur 1D-Arrays, diese kann man aber verschachteln und somit das selbe Erreichen wie mit 2D-Arrays, oder sogar noch mehr (die Inneren Arrays müssen nicht alle gleichlang sein, wie bei 2D-Arrays - was dann ja eine "Rechteckform" ergeben würde).
Zum Verschateln: Man nehme ein "großes" Array, und packe in jedes Feld wiederum ein "kleines" Array rein - eigentlich ganz einfach ;-)
Gruß
Borlander