Array RICHTIG sortieren

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

  • Array RICHTIG sortieren

    Hallo mal wieder,

    ich habe ein Array, was aus einem Verzeichnis alle Dateinamen enthält.
    Wenn ich dieses nun sortiere und ausgebe, habe ich allerdings eine komische sortierung.
    Und zwar wird zwischen groß und Kleinschreibung unterschieden.
    Meine Ausgabe sieht dann so aus:

    0815.jpg
    54studio.jpg
    alex.jpg
    dieter.jpg
    marta.jpg,
    August.jpg
    Berta.jpg
    Josef.jpg

    ich möchte aber alles alphapetisch ohne Case-Sensivity sortiert haben.
    123...aAbBcC...

    Wie ist dies möglich?

    Dank & Grüße,
    Andi

  • #2
    sortiert wird nach dem zeichenwert in der ASCII-tabelle. und da folgen die kleinen buchstaben den großen. das ist nunmal so.

    hast du das schon genommen?
    http://de.php.net/manual/de/function.natsort.php
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Ah, der Befehl steht noch nicht inmeinem Buch drin - funktioniert aber auch nicht. Er sortiert jetzt Buchstaben und Zahlen quer durcheinander, eine "natürliche" Reihenfolge ist da nicht zu erkennen.

      Grüße, Andi

      Kommentar


      • #4
        und bei sort() gibt es noch einen flag.
        hast du den mal genutzt?

        Flags für Sortiertypen:
        - SORT_REGULAR - Vergleiche Einträge normal
        - SORT_NUMERIC - Vergleiche Einträge numerisch
        - SORT_STRING - Vergleiche Einträge als Strings

        http://de.php.net/manual/de/function.sort.php

        und nur weil was nicht in deinem buch steht muss es das auch nicht nciht geben.

        IMMER auch mal ins manual schauen.
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          Original geschrieben von Abraxax
          und nur weil was nicht in deinem buch steht muss es das auch nicht nciht geben.

          IMMER auch mal ins manual schauen.
          Na da schlägt man halt als erstes nach, bzw. weis, dass man da schon mal einen Befehl gesehen hat. Vieleicht sollte ich doch öfters mal in Online-Handbuch schauen.


          Gut, aber trotzdem half das nicht weiter. Wie setzte ich denn das Flag?
          Habe es jetzt so probiert: sort($array, SORT_REGULAR).
          Lediglich bei SORT_NUMERIC hat er mir eine andere Reihenfolge sortiert, aber die hat auch keinen wirklichen Sinn ergeben.

          Hier mal mein Code, vielleicht liegts ja wo anders drann:

          <?
          $dir = "data/pics/"; // Name des Verzeichnises
          $handle = opendir ($dir);

          while ($file = readdir ($handle)) {
          if (ereg("(jpg|gif)$", $file)) { // . und .. in Directory entfernen
          $filenames[] = $file;
          }
          }
          closedir($handle);

          sort($filenames);
          ?>

          Kommentar


          • #6
            natcasesort($array); geht nicht?

            was kommt denn raus?
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Er sortiert jetzt Buchstaben und Ziffern quer durcheinander. Keine klare Struktur erkennbar.

              eliot
              1-2-2-6
              afrika
              Bonzai
              3678
              coffe

              u.s.w.

              Kommentar

              Lädt...
              X