Page 1 sur 1

tri sur tableau

Posté : 09 avr. 2011, 15:25
par bst
Bonjour,

voila mon probleme
j'ai un premier tableau
$tabcn = array ('nom' => $row['nom'], 'nbs' => $row['nbsaisons'], 'nbm' => $totmatchs, 'nbb' => $totbuts);
puis un deuxieme contenant le premier tableau
$tabtabcn[$i] = $tabcn;
Jusque la pas de problème, l'affichage se passe bien, seulement je voudrais trier mon deuxième tableau ($tabtabcn) par nombre de buts (nbb) qui se trouve dans le premier tableau.
J'ai rechercher sur le net et apparemment il faut utiliser la fonction array_multisort mais je n'arrive pas à l'utiliser correctement. Donc pourriez vous m'indiquer svp la marche a suivre ou la méthode pour trier mon tableau.

Merci pour votre aide

cordialement,
bst

Re: tri sur tableau

Posté : 09 avr. 2011, 16:30
par moogli
salut,

a tu regardé l'exemple N° 3 de la doc ? http://fr.php.net/manual/fr/function.ar ... ample-4115

par exemple
<?php
$tabtabcn[] = array ('nom' => 'ligne 1', 'nbs' => 1, 'nbm' => 56, 'nbb' => 12);
$tabtabcn[] = array ('nom' => 'ligne 2', 'nbs' => 2, 'nbm' => 45, 'nbb' => 48);
$tabtabcn[] = array ('nom' => 'ligne 3', 'nbs' =>3, 'nbm' => 78, 'nbb' => 8);
$tabtabcn[] = array ('nom' => 'l 4', 'nbs' => 4, 'nbm' => 156, 'nbb' => 0);
$tabtabcn[] = array ('nom' => 'l5', 'nbs' => 5, 'nbm' => 456, 'nbb' => 115);
$tabtabcn[] = array ('nom' => 'L 6', 'nbs' => 6, 'nbm' => 464, 'nbb' => 34);
var_dump($tabtabcn);
echo '<hr />';
foreach ($tabtabcn as $key => $row) {
    $nom[$key] = $row['nom'];
    $nbs[$key] = $row['nbs'];
    $nbm[$key] = $row['nbm'];
    $nbb[$key] = $row['nbb'];
}
array_multisort($nbb,SORT_DESC,$tabtabcn);
var_dump($tabtabcn);
?>
donne
array
0 =>
array
'nom' => string 'l5' (length=2)
'nbs' => int 5
'nbm' => int 456
'nbb' => int 115
1 =>
array
'nom' => string 'ligne 2' (length=7)
'nbs' => int 2
'nbm' => int 45
'nbb' => int 48
2 =>
array
'nom' => string 'L 6' (length=3)
'nbs' => int 6
'nbm' => int 464
'nbb' => int 34
3 =>
array
'nom' => string 'ligne 1' (length=7)
'nbs' => int 1
'nbm' => int 56
'nbb' => int 12
4 =>
array
'nom' => string 'ligne 3' (length=7)
'nbs' => int 3
'nbm' => int 78
'nbb' => int 8
5 =>
array
'nom' => string 'l 4' (length=3)
'nbs' => int 4
'nbm' => int 156
'nbb' => int 0
trié par nbb ;)

@+

Re: tri sur tableau

Posté : 09 avr. 2011, 16:52
par bst
je venais de résoudre le problème en passant par un troisième tableau intermédiaire (utiliser 2 tableau pour l'affichage) mais je vais utiliser ta solution qui est plus simple.
Sinon oui j'avais lu la doc mais j'apprends donc j'ai encore un peu de mal et je faisais pas tout comme il fallait :(

un grand merci a toi en tout cas ;)

Re: tri sur tableau

Posté : 09 avr. 2011, 17:09
par moogli
de rien ;)

peut tu cliquer sur le bouton résolu du message qui t'a aidé ? :-*

@+

Re: tri sur tableau

Posté : 09 avr. 2011, 17:12
par bst
je veux bien mais je dois être aveugle je ne le vois pas :oops:

Re: tri sur tableau

Posté : 09 avr. 2011, 17:39
par moogli
un bouton vert sur les messages (sauf si t'a posté le 1er en anonyme).

@+