En gros, usort() va parcourir ton tableau en prenant les éléments deux par deux. Et pour chaque paire d'éléments, elle va appeler ta fonction de comparaison, en lui passant en paramètre les deux éléments de la paire.
Ta fonction de comparaison - appelons là comparer() - doit :
- prendre en paramètre deux arguments A et B
- si dans l'ordre dans lequel tu veux trier ton tableau A doit aller avant B : comparer($A, $B) doit renvoyer -1
- si dans l'ordre dans lequel tu veux trier ton tableau A doit aller après B : comparer($A, $B) doit renvoyer 1
- si les deux éléments sont de même ordre : comparer($A, $B) doit renvoyer 0
Dans ton cas, ta fonction comparer() s'écrit :
Code :
- function comparer($a, $b) {
- if ($a['nom'] > $b['nom']) {
- return 1;
- } elseif ($a['nom'] < $b['nom']) {
- return -1;
- } else {
- return 0;
- }
|
Il ne reste plus qu'à faire :
Code :
- usort($reptab, 'comparer');
|
Et le tour est joué
---------------
Loose Change Lies | Bars | Last.fm