Avatar billede learner Praktikant
06. oktober 2009 - 16:55 Der er 5 kommentarer og
1 løsning

array sort fejl

Hejsa jeg har brug for hjælp.

Jeg forsøger at lave en funktion der sorterer et array

Her min kode : (jeg har forkortet det lidt)
    function asc_or_desc($list, $sorted){
        if ($sorted=="DESC"){
            return asort($list);
        } else return arsort($list);
    }
    // og så array som fyldes igennem en while(). her et eksempel på en linie i while'en: (og de sættes altsåkorrekt)
    $list_fortjeneste[$products_id] = number_format(77, 2, ',', '');
    $sorted = "ASC";
    $list_array = asc_or_desc($list_fortjeneste, $sorted);
    foreach ($list_array as $key => $value){
      // noget
    }

Jeg får denne fejl:
Warning: Invalid argument supplied for foreach() in ....

Jeg kan ikke få øje på en fejl. kan du?
Avatar billede learner Praktikant
06. oktober 2009 - 17:02 #1
Jeg har undersøgt lidt mere og fundet ud af at fejlen opstår kun når jeg kører gennem asc_or_desc()

Men hvad er der galt med asc_or_desc() ???
Avatar billede arne_v Ekspert
06. oktober 2009 - 17:16 #2
asort returnerer true/false efter om sorteringen gik godt og modificerer input arrayet.
Avatar billede learner Praktikant
06. oktober 2009 - 17:26 #3
Nåeee

så denne ville være mere korrekt?

function asc_or_desc($list, $sorted){
    if ($sorted=="DESC"){
        asort($list);
        return $list;
    } else {
        arsort($list);
        return $list;
    }
}
Avatar billede arne_v Ekspert
06. oktober 2009 - 17:43 #4
Vaerd at proeve ....
Avatar billede learner Praktikant
06. oktober 2009 - 17:47 #5
det virker :o)

Tak for hjælpen og smid svar tak
Avatar billede arne_v Ekspert
06. oktober 2009 - 18:08 #6
kommer her
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