Array sortieren

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Array sortieren

    Hallo,

    ich habe ein Array, das folgende Daten enthält und zwar in dieser Reihenfolge:

    01/2004
    02/2003
    03/2003
    03/2003
    03/2003
    04/2003
    04/2003
    05/2003
    05/2003
    05/2003
    06/2003

    Wie man schnell sieht, handelt es sich hierbei um den Monat/Jahr.
    Nun möchte ich aber diese Daten sortieren, sodass der erste Wert zeitlich gesehen auch als letztes erscheint.

    Hat jemand eine Idee. Mit sort funzt das nicht.

  • #2
    Re: Array sortieren

    Dann bringe das Datum in ein sortierfähiges Format, oder nutze usort() mit einer eigenen Vergleichsfunktion.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      ich lese die daten wie folgt aus einer DB.

      PHP-Code:

      while($element $database->db_fetch_object())
      {
          
      $daten[] = $element->jahr;

      Die Abfrage sind für den teil so aus:

      $query="Select gesellschaft, to_char(".$suchdatum." ,'MM/YYYY') as jahr


      Wie kann ich nun das Datum in ein sortierfähiges Format bringen???

      Kommentar


      • #4
        Original geschrieben von mobo81
        Wie kann ich nun das Datum in ein sortierfähiges Format bringen???
        In dem du dir zunächst überlegst, wie ein solches Format aussieht/aussehen könnte - und es dann in ein solches bringst (in ein bestimmtes, von dir definiertes Format bringst du es ja offenbar jetzt schon).
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          es kommt nach hinzu, dass in der Abfrage auch der zugehörige finanzierer abgefragt wird. Wenn ich nun sortieren will, muss natürlich auch der finanzierer mit sortiert werden:



          PHP-Code:
          while($element $database->db_fetch_object())
          {
              
          $daten[] = $element->jahr;
              
          $finanzierer[] = $element->gesellschaft;


          etwas so:

          01/2004 a
          01/2003 b
          02/2003 d


          sortiert:

          01/2003 b
          02/2003 d
          01/2004 a

          weiss überhaupt nicht, wie ich vorgehen könnte.

          Kommentar


          • #6
            Original geschrieben von mobo81
            weiss überhaupt nicht, wie ich vorgehen könnte.
            Bisschen schwach für einen Informatikstudenten, oder ...?


            Wenn du eine Sortierung erreichen willst, die über normales sort() nicht geht, dann schreibe dir halt eine eigene kleine Vergleichsfunktion ... aber ich wiederhole mich.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              das sortieren (vor allem nach datum) sollte man eigentlich der db überlassen.

              Kommentar


              • #8
                Code:
                SELECT * FROM tab1 ORDER BY datum DESC, finanzierer
                OffTopic:
                Aber Krass, ich bin als am überlegen ob ich noch nen Studium mache - aber wenn ich das so sehe, glaube ich fahre ich als Autodidakt ganz gut.

                Kommentar

                Lädt...
                X