[résolu] PHP-Trier un tableau en fonction d'un critére perso

WRInaute discret
Bonjour à tous ,

j'ai par exemple la définition suivante du tableau $table :
Code:
<?php
$table[0]['nom']="David";
$table[0]['age']="18";
$table[1]['nom']="Bouazza";
$table[1]['age']="14";
$table[2]['nom']="Fred";
$table[2]['age']="16";
?>
Je voudrais en effet savoir comment trier le tableau par ordre décroissant en fonction de la valeur de l'élement age .

Merci beaucoup d'avance .
 
WRInaute passionné
T'as la fonction sort() en PHP qui permet de trier un tableau, sur un tableau à deux dimensions je ne sais pas comment elle se comporte, à tester.
http://fr2.php.net/sort

Edit : ah bah me suis fais doublé et avec une solution mieux adaptées ;)
 
WRInaute discret
Rebonjour ,

est-il possible que la fonction array_multisort trie les autres clés selon la clé dans le premier paramétre en donnant la variable tableau directement dans le deuxiéme paramétre ?
En effet , je ne saurai pas combien de clés il y aura dans mon tableau...

EDIT : je veux simplement dire s'il est possible que la fonction ne nécessitera que la clé et le tableau à trier pour qu'elle trie automatiquement les autres clés .
 
WRInaute occasionnel
pour les tris exotiques avec php, regarde la fonction usort (php.net/usort).
avec elle tu peux définir toi même le critère de tri avec une fonction de comparaison f(a,b) que tu auras toi même défini.
Tu n'auras plus qu'à faire usort($mon_tab,ma_fonction_tri).
 
WRInaute discret
Salut ,

la fonction usort marche nickel !
je crois que j'ai compris comment définir l'ordre du tri , il suffit de remplacer < par > ou inversement dans le code suivant :
Code:
function compare($a, $b)
{
   if ($a['cle'] == $b['cle']) {
     return 0;
   }
   return ($a['cle'] > $b['cle']) ? -1 : 1;
}

Et merci beaucoup à tous les participants à cette discussion .

EDIT : comment faire un tag [résolu] ?
 
WRInaute discret
mr_go a dit:
Edite ton premier message et marque [resolu]. On se la fait à l'ancienne sur WRI ! ;)
Chose faite , en plus d'un changement du titre pour que ceux ayant la même question pourront trouver ce topic grâce à Google :p .
 
Discussions similaires
Haut