EirikO Skrevet 30. desember 2008 Del Skrevet 30. desember 2008 Har et array på følgende form: $test[345] = array(2,"Petter Pettersen"); $test[324] = array(1,"Hans Hansen"); $test[123] = array(3,"Ole Olsen"); Ønsker å sortere dette etter tallet som står inni det andre arrayet (2,1,3) og deretter kaste vekk dette tallet. Vil da at test skal se slik ut: $test = array(324->Hans Hansen, 345->Petter Pettersen, 123->Ole Olsen); Hva er beste måte å fikse dette? array_multisort på et eller annet vis? Lenke til kommentar
Jonas Skrevet 30. desember 2008 Del Skrevet 30. desember 2008 <?php function array_clean ( $array, $key ) { $return = array (); foreach ( $array as $var => $val ) { $return[$var] = $val[$key]; } return $return; } $test[345] = array ( 2,"Petter Pettersen" ); $test[324] = array ( 1,"Hans Hansen" ); $test[123] = array ( 3,"Ole Olsen" ); array_multisort ( array_clean ( $test, 0 ), SORT_DESC, $test ); $test = array_clean ( $test, 1 ); print_r ( $test ); ?> <?php $test[345] = array ( 2,"Petter Pettersen" ); $test[324] = array ( 1,"Hans Hansen" ); $test[123] = array ( 3,"Ole Olsen" ); foreach ( $test as $val ) $testR[$val[0]] = $val[1]; krsort ( $testR ); print_r ( $testR ); ?> 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å