Grunge
Erfahrenes Mitglied
Hallo Leute,
ich habe ein kleines Problem mit dem sortieren eines Arrays.
in einer while schleife fülle ich das Array "Nachrichten" mit den Details aus der Datenbank.
Im Anschluss soll das ganze nun sortiert werden, und zwar nach dem Datum, und das letzte zuerst.
Das mache ich wie folgt:
funktioniert zweifelsohne im Prinzip, nur bei dem Datum scheint er seine Probleme zu haben. Ich schätze mal, dass meine Funktion _sort() damit nicht klar kommt. Das Datum ist im DateTime Format in der SqL gespeichert.
Wie müsste ich die Funktion also nun erweitern, so dass er das Datum sortiert? Ich nehme an ich müsste das Datum splitten?
Mein Gedanke war jetzt:
Erstmal den Datums teil (YYYY-MM-DD) sortieren und dann den Uhrzeit Teil (HH:MM:SS) und später wieder zusammenführen, und es im Array neu zu speichern?
nur wie genau bau ich das in die Funktion ein.
Hat da jemand ne Idee?
ich habe ein kleines Problem mit dem sortieren eines Arrays.
in einer while schleife fülle ich das Array "Nachrichten" mit den Details aus der Datenbank.
Im Anschluss soll das ganze nun sortiert werden, und zwar nach dem Datum, und das letzte zuerst.
Code:
$nachrichten[] = array('abs' => $msg['abs'],
'datum' => $msg['datum'],
'msg' => $msg['msg'],
'id' => $msg['msgid']);
Das mache ich wie folgt:
Code:
$msg_new=_sort($nachrichten, 'datum', SORT_DESC);
function _sort($array = array (), $art, $reinfolge=SORT_DESC) {
if(is_array($array)==true){
foreach ($array as $key => $value) {
if(is_array($value)==true){
foreach ($value as $kk => $vv) {
${$kk}[$key] = strtolower( $value[$kk]);
}
}
}
}
array_multisort(${$art}, $reinfolge, $array);
return $array;
}
funktioniert zweifelsohne im Prinzip, nur bei dem Datum scheint er seine Probleme zu haben. Ich schätze mal, dass meine Funktion _sort() damit nicht klar kommt. Das Datum ist im DateTime Format in der SqL gespeichert.
Wie müsste ich die Funktion also nun erweitern, so dass er das Datum sortiert? Ich nehme an ich müsste das Datum splitten?
Mein Gedanke war jetzt:
Erstmal den Datums teil (YYYY-MM-DD) sortieren und dann den Uhrzeit Teil (HH:MM:SS) und später wieder zusammenführen, und es im Array neu zu speichern?
nur wie genau bau ich das in die Funktion ein.
Hat da jemand ne Idee?