Gå til innhold

"Koble sammen" to arrayer.


Anbefalte innlegg

Hei,

 

Har enda et problem nå. La oss si jeg har en array som ser slik ut:

Array
(
   [avatars] => Array
       (
           [0] => vote/alicia.txt
           [1] => vote/amelie.txt
           [2] => vote/bandwidth.txt
           [3] => vote/ey.txt
           [4] => vote/humlesnurr.txt
           [5] => vote/kirstendunst.txt
           [6] => vote/ladybahaha.txt
           [7] => vote/manga.txt
           [8] => vote/matrix.txt
           [9] => vote/surf.txt
           [10] => vote/verdi.txt
       )

   [votes] => Array
       (
           [0] => 3
           [1] => 2
           [2] => 2
           [3] => 1
           [4] => 15
           [5] => 5
           [6] => 1
           [7] => 1
           [8] => 1
           [9] => 1
           [10] => 2
       )

)

 

Der ser du at [votes][0] hører til [avatars][0] osv. Men jeg skal ha votes sortert. Jeg bruker SORT_NUMERIC, og det funker jo - men da hører ikke [votes][0] til [avatars][0] lengre. Hvordan kan jeg løse dette?

Lenke til kommentar
Videoannonse
Annonse

Jeg får det ikke til å virke .. Her er koden min:

$i=0;while($i < count($votedAvatars)){
$get = file('vote/'.$votedAvatars[$i].'.txt');
$each["avatars"][] = ('vote/'.$votedAvatars[$i].'.txt');
$each["votes"][] = count($get); // add to $each-array
 array_multisort($each["votes"], SORT_NUMERIC);  
 $each["votes"] = array_reverse($each["votes"]);
$i++;
}

 

[votes] skal sorteres etter tall og så reverseres samtidig som [avatars] henger med. Skjønner? :)

Lenke til kommentar
array_multisort funker dessverre bare med assosiative arrayer for det du spør om, men ta en titt på denne kommentaren, den er akkurat det du spør om.

http://no.php.net/manual/en/function.array...isort.php#69656

7598010[/snapback]

 

Har du sett så genialt, funker jo knall :D

 

VOTES er det jeg skal ha sortert numeric, og AVATARS skal henge etter:

  
 $arDEBUG = array_keys($each["votes"]);
 array_multisort($each["votes"], $arDEBUG, $each["avatars"], SORT_NUMERIC);

 

Tusen takk. Nå gjenstår det bare en ting; Hvor er logikken her? Kan noen forklare meg *hvorfor* dette virker? :)

Endret av loathsome
Lenke til kommentar

Jeg har aldri helt skjønt meg på array_mutlisort, men løste problemet ditt:

PHP
function somesortthingy($array,$array2) {

 

// array2 defines order

// array are the values

// the keys correspond

 

arsort($array2);

 

foreach($array2 as $key => $value) {

$out[] = array("votes"=>$value,"avatar"=>$array[$key]);

};

 

return $out;

};

brukes sånn:

print_r(somesortthingy($array["avatars"],$array["votes"]));

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...