Probleme mit sort()

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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!

    Comment


    • #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").
      Last edited by fireweasel; 23-03-2009, 12:29.
      Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

      Comment


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

        Comment

        Working...
        X