kostenloser Webspace werbefrei: lima-city


php Multiarray nach Datum sortieren ?

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    g*****e

    Hallo
    also ein Multi-Array sortieren ist soweit klar,
    .... als Argumente kenne ich:

    SORT_ASC
    SORT_DESC
    SORT_REGULAR
    SORT_NUMERIC
    SORT_STRING

    ... ABER ... gibt's da nix speziell für Datums-Formate ?
    bzw. welces Argument sollte man für "Sortieren nach Datum" nehmen?

    erkennt SORT_DESC oder SORT_ASC etc. automatisch ein Datum?
    oder muss ich jedes Datum in einen timestamp umwandeln, und diese dann wie Zahlen behandeln?

    ... array_multisort mit Sortierung nach Datum (auf-/ab-steigend) ?

  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. ole-reglitzki

    Kostenloser Webspace von ole-reglitzki

    ole-reglitzki hat kostenlosen Webspace.

    Hi, was hast du denn für ein Datumsformat?
    also beim Y-m-d (H:i:s) sollte es meiner Meinung nach mit den einfachen Befehlen klappen (habs nicht versucht, klappt aber bei db-zugriffen (mysql))
    sonst würde ich eine Schleife schreiben, in der jedem Unter-Array (jedem, das ein Datum enthält) ein timestamp hinzugefügt wird und dann nach diesem sortieren.
    Allerdings kannst du auch insgesamt mit timestamps arbeiten und diese zum Ausgeben ganz einfach umwandeln in ein Datum, das wäre vermutlich die 'sauberste' lösung, wenn das Datumsformat nicht Y-m-d (H:i:s) entspricht ;)

    lg Ole
  4. Autor dieses Themas

    g*****e

    Hallo

    ja das mit timestamp will ich ja grad vemeiden,
    denn bei vielen Datensätzen (grosse Arrays) frisst das sonst zu viel Performance
    oder?

    bei Einhaltung des Datumformats "absteigende Wertigkeit" ... von Jahr zu Sekunde
    kann man das dann auch als String behandeln (und sortieren) YYYY-mm-dd-HH-ii-ss

    array_multisort($data, SORT_ASC, SORT_STRING, $neuesarray);

    oder? ...

    was frisst weniger Performance weg,
    das Datums-Format evtl umstellen für String-Sortierung oder ...
    ... oder in Timestamp umwandeln für NUMERIC Sortierung ?
  5. ole-reglitzki

    Kostenloser Webspace von ole-reglitzki

    ole-reglitzki hat kostenlosen Webspace.

    was mehr performance frisst, könntest du testen, indem du beide Fälle hintereinander abarbeiten lässt, jeweils vorher und hinterher den aktuellen timestamp time() nimmst und die differenz beim zweiten fall von der differenz beim ersten Fall abziehst und dir das Ergebnis anschaust:
    negatives Ergebnis: Erster Fall ist besser
    positives Ergebnis: Zweiter Fall ist besser

    zur Sicherheit solltest du es mehrmals ausprobieren ;)

    Bei absteigender Wertigkeit müsste es rein logisch betrachtet nach String-Sortierung klappen, ausprobiert habe ich es halt nicht ;)

    lg Ole
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!