dedlfix: ORDER BY für php-array

Beitrag lesen

Tach!

Was mich daran gehindert hat Linuchs die usort-Funktion an's Herz zu legen war, dass er Datum und Uhrzeit in 2 Spalten aufteilt und er keine Timestamps verwendet.

Das ist in dem speziellen anscheinend kein Problem, denn die Zeitwerte liegen in einer als String vergleichbaren Form vor. Alternativ könnte er die Werte als Unix-Timestamp vom DBMS liefern lassen, sie als Integer vergleichen und erst bei der Ausgabe formatieren. Das käme auch der Mehrsprachigkeit zugute, falls das ein Kriterium ist.

$a_ts = new DateTime($a['tag'].' '.$a['uhr']);
  $b_ts = new DateTime($b['tag'].' '.$b['uhr']);
  if ($a_ts == $b_ts) { return 0; }
  return $a_ts < $b_ts ? 1 : -1;

Hat DateTime eine eingebaute Magie, die es erlaubt, zwei Objekte derart miteinander zu vergleichen? Eigenen Objekten kann man ja keine Operatoren überladen.

dedlfix.