Avatar billede x4all_dk Nybegynder
13. januar 2006 - 10:48 Der er 7 kommentarer og
1 løsning

Generel multi diminsionel array sort

Hvem kommer med koden til en generel multi diminsionel array sorter ?

$multi_array = ['navn']['efternavn']['alder']['a']...[z]
f.eks:
'Søren','h','44','4',...,'---'
'Søren','P','14','3',...,'---'
'Søren','p','24','2',...,'---'
'Søren','p','24','1',...,'---'
'Kaj',  'n','54','1',...,'---'

Jeg vil så gerne sortere på (navn, efternavn, alder, a),
så jeg får dette ud:

'Kaj',  'n','54','1',...,'---'
'Søren','h','44','4',...,'---'
'Søren','P','14','3',...,'---'
'Søren','p','24','1',...,'---'
'Søren','p','24','2',...,'---'


Hvem kan lave sådan generel funktion i PHP ?
Avatar billede rednex Nybegynder
13. januar 2006 - 11:39 #1
Kan array_multisort() ikke bruges? http://dk.php.net/array_multisort
Avatar billede x4all_dk Nybegynder
13. januar 2006 - 14:06 #2
rednex: Nej, men jeg vil tro man kan bruge den til at lave den ønskede generelle sorteringsfunktion!
Avatar billede coderdk Praktikant
13. januar 2006 - 20:54 #3
http://dk2.php.net/usort - Der er et fint eksempel du kan bruge :)
Avatar billede coderdk Praktikant
13. januar 2006 - 20:55 #4
function cmp( $a, $b )
{
  if ( $a['navn'] == $b['navn'] ) return 0;
  return ( $a['navn'] < $b['navn'] ? 1 : -1 );
}

usort( $multi_array, 'cmp' );
Avatar billede x4all_dk Nybegynder
16. januar 2006 - 15:25 #5
coderdk: Hvis jeg kun vil sortere på 1 kolonne så er det rigtigt, men jeg ønsker en generel sorterer som kan sortere på n-kolonner!
Avatar billede coderdk Praktikant
16. januar 2006 - 18:10 #6
Du skal jo bare tilpasse funktionen!
Avatar billede x4all_dk Nybegynder
20. januar 2006 - 11:58 #7
coderdk: Det er det jeg giver 60 point for at én gør ;)
Avatar billede x4all_dk Nybegynder
27. april 2006 - 08:51 #8
lukker
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