Arrayinhalt sortieren

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

  • Arrayinhalt sortieren

    Hi,


    kann mir jemand vieleicht sagen, wie den Arrayinhalt sortiere, in dem folgendes steht:

    bla (1).jpg
    bla (4).jpg
    bla (2).jpg
    bla (3).jpg
    bla (0).jpg

    So sieht der Inhalt aus. Und leider ist es nicht aufsteigend sortiert. Es sollte so aussehen:

    bla (0).jpg
    bla (1).jpg
    bla (2).jpg
    bla (3).jpg
    bla (4).jpg

    Weiß jemand wie ich das hin bekomme?!? Das wäre echt klasse! Vielen Dank schon mal im vorraus.

    Gruß Fabian!

  • #2
    natcasesort() sollte passen ... ansonsten manual und bei sort() den querverweisen folgen
    Kissolino.com

    Kommentar


    • #3
      Mit natcasesort() funktioniert das leider nicht. Da bekomme ich dann diese Fehlermeldung:

      Parse error: parse error, unexpected T_FOR in C:\apachefriends\xampp\htdocs\Test_Seite\Meine Page\Hauptseite\Pics\Fotos\Freizeit\Beachvolleyball\2004\auflisten.php on line 26

      Und mit sort() kann ich leider nichts anfangen. Ich weiß nicht, was du mit:
      den Querverweisen
      folgen meinst

      Ich poste mal meinen Code. Ich hoffe ihr könnt mir dann besser helfen.

      Code:
      <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
      <html>
      <head>
      <title>Auflisten</title>
      <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
      </head>
      
      <body>
      <?
      
      $handle=opendir('.'); 
      while ($file = readdir ($handle)) { 
         if (eregi(".(gif|jpg)$",$file) && $file != "." && $file != "..") 
      	{ 
      		$myarray[] = $file;
         	} 
      }
      closedir($handle);
      
      $max_elemente = count($myarray);
      
      echo "Es sind ". $max_elemente . " Bilder im Ordner vorhanden<br><br>";
      
      natcasesort($myarray)
      
      for($x=0;$x<$max_elemente;$x++){  
      								  echo  $x . ". Bild: ";
      								  echo  $myarray[$x];
      								  echo  "<br>";}
      
      ?>
      </body>
      </html>
      Zuletzt geändert von envision-me; 27.07.2004, 18:52.

      Kommentar


      • #4
        Parse error: parse error, unexpected T_FOR in C:\apachefriends\xampp\htdocs\Test_Seite\Meine Page\Hauptseite\Pics\Fotos\Freizeit\Beachvolleyball\2004\auflisten.php on line 26
        bloß nicht zeile 26 markieren, hab sie schon gefunden ... steht doch alles da, unexpected ... in zeile

        querverweise werden manchmal auch hyperlinks genannt, ...
        die sort()-seite verweist vielleicht auf andere sortier-funktionen

        ich glaub, du hasts semikolon vergessen ...
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          Das hilft mir leider auch nicht weiter. Habe das Simikolon gesetzt und dann kommt die Fehlermeldung, dass da keine Semikolon hin darf.

          Kann mir denn keiner konkreter helfen. Das wäre echt klasse!

          Kommentar


          • #6
            abgesehen von dem fehlenden ; hinter natcasesort($myarray) ist alles OK und soll funz. Ist das alles was du hast, oder hast du noch was, was du nicht hier postest ?

            Kommentar


            • #7
              Original geschrieben von asp2php
              abgesehen von dem fehlenden ; hinter natcasesort($myarray) ist alles OK und soll funz. Ist das alles was du hast, oder hast du noch was, was du nicht hier postest ?
              Wenn ich hinter natcasesort($myarray) ein Semikolon setze dann kommt zwar keine Fehlermeldung, aber die Ausageb ist dann nicht sortiert.

              Das ist echt der ganze Code den ich habe! Habt ihr vieleicht noch eine andere Lösung?!?

              Kommentar


              • #8
                Wenn ich hinter natcasesort($myarray) ein Semikolon setze dann kommt zwar keine Fehlermeldung, aber die Ausageb ist dann nicht sortiert.
                wieso erzählst du erst was anderes?

                PHP-Code:
                echo '<pre>';
                print_r($myarray);
                natcasesort($myarray);
                print_r($myarray);
                echo 
                '</pre>'
                ausgabe?
                Die Zeit hat ihre Kinder längst gefressen

                Kommentar


                • #9
                  Weil ich dummerweise das Semikolon direkt hinter das Array gepackt habe. Also so:

                  natcasesort($myarray; )

                  Und dann hat das nicht funltioniert! Dummer Anfängerfehler!

                  Danke für deine Lösung! Klasse! Ich habe jetzt nur ein Problem. Ich kann es nicht sortiert in ein neues Array speicher. Habe es so probiert

                  PHP-Code:
                  $myarray_sortiert[] = natcasesort($myarray); 
                  Und so:

                  PHP-Code:
                  for($x=0;$x<$max_elemente;$x++){  $myarray_sortiert[] = natcasesort($myarray[x]);
                                                    echo  
                  $x ". Bild: ";
                                                    echo  
                  $myarray_sortiert[$x];
                                                    echo  
                  "<br>";} 
                  Aber beides funzt leider nicht ! Das brauche ich dafür, damit ich später z.B. auf das 0 Element des Arrays zugreifen und dann soll auch "das bla (0).jpg" zurück gegeben werden.
                  Zuletzt geändert von envision-me; 27.07.2004, 20:57.

                  Kommentar


                  • #10
                    http://www.php.net/natcasesort lesen und feststellen, dass die funktion nichts zurückgibt, sondern das übergebene array verändert...
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      Ja das habe ich ja gemacht! Und nun ... bin halt nicht so der Held und schaffe das einfach nicht. Keiner der mir konkret helfen kann?

                      Kommentar


                      • #12
                        Keiner der mir konkret helfen kann?
                        Ich denke, dass die Ausage über deinem Posting ziemlich konkret ist. Konkreter ist vielleicht "codeindenarschschieben" aber in dem wort steht leider nirgends "Lerneffekt", das kanns also nicht sein...

                        Kommentar


                        • #13
                          kopier das array, bevor du es sortierst
                          Die Zeit hat ihre Kinder längst gefressen

                          Kommentar

                          Lädt...
                          X