OyvindN Skrevet 17. februar 2009 Del Skrevet 17. februar 2009 Lurer på om det finnes en måte å sortere dette arrayet på, ved [id]. Array ( [0] => Array ( [id] => 3 [0] => 4 ) [1] => Array ( [id] => 4 [0] => 6 ) [2] => Array ( [id] => 2 [0] => 1 ) ) Dvs at jeg får det slik: Array ( [0] => Array ( [id] => 2 [0] => 1 ) [1] => Array ( [id] => 3 [0] => 4 ) [2] => Array ( [id] => 4 [0] => 6 ) ) Lenke til kommentar
Jonas Skrevet 17. februar 2009 Del Skrevet 17. februar 2009 (endret) Bruk array_multisort(). (Om hukommelsen min serves me right) <?php function array_clean ( $array, $key ) { $tmp = array (); foreach ( $array as $var => $val ) if ( array_key_exists ( $key, $val ) ) $tmp[$var] = $val[$key]; else $tmp[$var] = null; return $tmp; } array_multisort ( array_clean ( $myArray, 'id' ), SORT_ASC, $myArray ); ?> Endret 17. februar 2009 av Jonas Lenke til kommentar
OyvindN Skrevet 17. februar 2009 Forfatter Del Skrevet 17. februar 2009 Takk, funket som bare det Lenke til kommentar
OIS Skrevet 17. februar 2009 Del Skrevet 17. februar 2009 litt enklere kanskje function fetchId($subArray) { return $subArray['id']; } array_multisort(array_map('fetchId', $arr), $arr); Lenke til kommentar
Jonas Skrevet 17. februar 2009 Del Skrevet 17. februar 2009 (endret) Kanskje enklere, men mye mindre fleksibelt og dynamisk. Koden kan ikke brukes til noe annet enn akkurat det den først ble skrevet for. array_clean() er dessuten en funksjon som forhåpentligvis eksisterer i alles rammeverk, i hvert fall i de jeg benytter meg av, så alle tilsvarende sorteringer er one-linere. Endret 17. februar 2009 av Jonas Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå