Avatar billede ljen Nybegynder
22. juli 2007 - 08:44 Der er 4 kommentarer og
1 løsning

Sortering af array

Hej Eksperter

Jeg har et slideshow som henter fil-navne fra en angivet mappe med følgende kode:

<?php
$dir = "../images/Upload/John/"; // Ret selv stien her til
$aArrA = array();
$aArrB = array();
    if(is_readable($dir)) {
        $d = dir($dir);
            while (false !== ($file = $d->read())) {
                if (is_file($dir ."/". $file)) {
            $aArrA[] = "\"" . $dir . $file . "\"";
                    $a = explode(".", $file);
            $aArrB[] = "\"" . $a[0] . "\"";
                }     
            }

        $d->close();
    }

?>

<!--
NewImg = new Array(
    <?=implode(",", $aArrA)?>
);
NewCap = new Array (<?=implode(",", $aArrB)?>);

Problemet er at det virker lidt "random" hvilken rækkefølge fil-navnene får. For at styre det ville jeg gerne sortere navnene alfabetisk, hvilket jeg har forsøgt med:

$aArrASort = sort($aArrA);
$aArrBSort = sort($aArrB);

i slutningen af PHP-delen, men outputtet bliver da 2 tomme arrays istedet??? Kan det evt. have noget at gøre med at navnene er af forme:

../tekst/tekst/tekst.jpg

?
Avatar billede jakobdo Ekspert
22. juli 2007 - 13:24 #1
Du skal ikke bruge:

$aArrASort = sort($aArrA);
$aArrBSort = sort($aArrB);

Du skal faktisk bare:

sort($aArrA);
sort($aArrB);

Og så bruge: $aArrA og $aArrB som før, se selv her: http://www.php.net/sort

sort() giver nemlig TRUE eller FALSE retur om sorteringen gik godt.
Avatar billede jakobdo Ekspert
22. juli 2007 - 13:24 #2
Og et svar.
Avatar billede coderdk Praktikant
22. juli 2007 - 13:34 #3
Du kan også kigge på glob() i stedet for dir/read: http://dk2.php.net/glob og til sortering kig også på natsort: http://dk2.php.net/natsort
Avatar billede ljen Nybegynder
22. juli 2007 - 15:20 #4
Takker for hjælpen!!!
Avatar billede jakobdo Ekspert
22. juli 2007 - 15:39 #5
Takker for point.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester