Wouter... dankjewel... ik snap alleen niet hoe ik dit moet invullen. Zijn dit de letterlijke functies die ik moet gebruiken? Dit levert null op, dus ik denk dat je iets anders bedoelt en dat ik het verkeerd begrijp.
Ik heb het opgelost met een uasort en vervolgens een foreach loop.
Jouw array_map krijg ik niet werkend. En met sort en usort verlies je sowieso de array-keys, dus dat kan ook niet werken. Het probleem is in ieder geval opgelost, hoewel ik ook benieuwd ben naar jouw oplossing
Dat kan best kloppen, aangezien sort een functie is en dus of tussen strings of met () gebruikt moet worden. Ook heeft usort 2 argumenten, terwijl die in de code 1 argument heeft. Misschien was dat ook wel de rede dat er "dummy code" staat, ik geef een opzetje en jij maakt hem af.
Laten we het dan maar in kleine stapjes doen. Als je niet goed bent in het lezen van de documentatie:
- Eerst sorteren op highest_score. Kijk naar [php]usort[/php] en wat de user functie daar allemaal mag returnen en wat resultaat dat opleverd.
- Dan nog eens sorteren op een child van deze array. We lopen dus even netjes door de array en dan moeten we het nog eens op waarde sorteren. Kijk eens naar [php]sort[/php] om te kijken of je daar misschien wat mee kunt. (vast wel, want ik ga je geen valse tips geven..)
Ik heb daar de volgende code voor gebruikt en die werkt prima:
<?php
uasort($languages, function ($a, $b) {
return max($b) - max($a);
});
foreach ($languages as $k => $v) arsort($languages[$k]);
?>
Wat betreft jouw usort en sort zie ik niet hoe dat gaat werken, omdat je daarmee de array-keys verliest. Ik ben dus benieuwd of jij een betere oplossing weet dan de mijne.