Probleme mit sort()

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

  • Probleme mit sort()

    Hi,

    ich möchte eine Array aphabetisch sortieren, aber es will mir nicht so gelingen.

    Ich lese ein Verzeichnis schreibe die Dateinamen in ein Array. Danach sortiere ich es mit sort().

    PHP-Code:
    $verzeichnis openDir('irgendein/Verzeichnis/');
    $verz = array();
                                    
    while (
    $file readDir($verzeichnis)) {
       if (
    $file != "." && $file != "..") {
         
    $verz[$file] = 1;                            
       }
    }
    closeDir($verzeichnis);
                    
    asort($verz,SORT_STRING); 
    Ausgegeben werden die Dateinamen wie folgt: "Halle","Bohr" und "Plan". Richtig sortiert wäre es ja in diese Reihenfolge: "Bohr", "Halle", "Plan".

    Warum sortiert er mir das nicht richtig? In einem anderen Verzeichnis liegt "Massiv" und "Stahl". Da war zuvor vertauscht, jetzt ist es richtig sortiert. Also einmal funktioniert es, bei dem anderen mal nicht...

    Danke für Eure Hilfe!
    » http://www.htaccess-generator.com

  • #2
    1. Von sort() sehe ich nichts.
    2. Von der Ausgabe auch nicht.
    3. An Testausgaben ist gar nicht zu denken.

    Das alles hätte dich sicher erkennen lassen, dass du ein Array voller Einsen versuchst zu sortieren. Sinnlos!

    Kommentar


    • #3
      Re: Probleme mit sort()

      Original geschrieben von bweichel
      ich möchte eine Array aphabetisch sortieren, aber es will mir nicht so gelingen.
      PHP bietet einen Rattenschwanz an Sortierfunktionen. Nicht jede eignet sich für jede Art von Array.

      PHP-Code:
      while ($file readDir($verzeichnis)) {
         if (
      $file != "." && $file != "..") {
           
      $verz[$file] = 1;                            
         }
      }
      //...
      asort($verz,SORT_STRING); 
      Für deinen Fall würde ich ksort() empfehlen. Das sortiert ein assoziatives Array nach seinen Schlüsseln ("keys").
      Zuletzt geändert von fireweasel; 23.03.2009, 13:29.
      Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

      Kommentar


      • #4
        Oder eifachn nur:
        PHP-Code:
        $array glob('irgendein/Verzeichnis/*'); 
        Wir werden alle sterben

        Kommentar

        Lädt...
        X