06. april 2000 - 17:16Der er
3 kommentarer og 1 løsning
Sortere efter en hash og derefter efter en anden
Jeg har to hashes hvorved nøglen til dem begge er den samme(et fodboldhold). Den ene hash indeholder antal point for holdet, den anden, den samlede målscore for holdet. Det er meningen at jeg vil sortere nøglerne(fodboldholdenes navne) på baggrund af værdierne(key/value). Først skal der sorteres efter point, og derefter skal der sorteres efter målscore. To eller flere hold kan jo nemt have det samme antal point i en turnering.
Det er meningen at jeg skal have holdet at arbejde med i en foreach statement og hverken point eller måslcore for holdet.
Eks:
Hold Point Målscore AB 6 12 Herfølge 6 6 FCK 0 -6 AAB 0 -12
$a og $b er ren magi. De opstår fordi "sort" laver dem.
I 3. linie er koden: {$hold{$b}*1000+$scor{$b}<=>$hold{$a}*1000+$scor{$a}} en anonym funktion, der afleverer -1, 0 eller 1 som "sort" bruger til sammenligningen. Da sådan en sammenligning skal være effektiv bruges ikke den "normale" parameteroverførsel, men i stedet for de magiske variabler $a og $b.
Synes godt om
Ny brugerNybegynder
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.