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

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

Lord_Coder
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 243
Inscription: Sam Avr 15, 2006 18:25

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

Message le Lun Juil 10, 2006 11:10

Bonjour à tous ,

j'ai par exemple la définition suivante du tableau $table :
Code: Tout sélectionner
<?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 .
Dernière édition par Lord_Coder le Lun Juil 10, 2006 13:15, édité 2 fois.


mr_go
WRInaute accro
WRInaute accro
 
Messages: 1945
Inscription: Mer Sep 21, 2005 16:02

Message le Lun Juil 10, 2006 11:18

Bonjour,

tu peux regarder vers la fonction array_multisort. ;)


Bacteries
WRInaute accro
WRInaute accro
 
Messages: 1333
Inscription: Jeu Mai 27, 2004 13:04

Message le Lun Juil 10, 2006 11:22

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 ;)


mr_go
WRInaute accro
WRInaute accro
 
Messages: 1945
Inscription: Mer Sep 21, 2005 16:02

Message le Lun Juil 10, 2006 11:25

Et toc ! Pour une fois que c'est pas moi... Je jubile ! :p :D

Lord_Coder
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 243
Inscription: Sam Avr 15, 2006 18:25

Message le Lun Juil 10, 2006 11:29

mr_go a écrit:Bonjour,

tu peux regarder vers la fonction array_multisort. ;)

Merci pour ta réponse , elle marche nickel !
Bacteries a écrit:T'as la fonction sort() en PHP

Si je vais trier en faisant sort($table[$i]["age"]) à l'intérieur d'une boucle , beh ça ne va trier que l'élément age , et les données vont être "brouillées" .
Merci quand même pour ta réponse .

Lord_Coder
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 243
Inscription: Sam Avr 15, 2006 18:25

Message le Lun Juil 10, 2006 11:47

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 .

Lord_Coder
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 243
Inscription: Sam Avr 15, 2006 18:25

Message le Lun Juil 10, 2006 12:09

Peut quelqu'un m'aider ?

theJB
WRInaute impliqué
WRInaute impliqué
 
Messages: 410
Inscription: Ven Avr 07, 2006 21:42

Message le Lun Juil 10, 2006 12:45

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).

Lord_Coder
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 243
Inscription: Sam Avr 15, 2006 18:25

Message le Lun Juil 10, 2006 12:56

Merci beaucoup pour la réponse , je vais essayer ta fonction pour voir .

Lord_Coder
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 243
Inscription: Sam Avr 15, 2006 18:25

Message le Lun Juil 10, 2006 13:09

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: Tout sélectionner
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] ?


mr_go
WRInaute accro
WRInaute accro
 
Messages: 1945
Inscription: Mer Sep 21, 2005 16:02

Message le Lun Juil 10, 2006 13:11

Edite ton premier message et marque [resolu]. On se la fait à l'ancienne sur WRI ! ;)

Lord_Coder
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 243
Inscription: Sam Avr 15, 2006 18:25

Message le Lun Juil 10, 2006 13:17

mr_go a écrit: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 .


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités