Trier un tableau associatif

Eléphanteau du PHP | 41 Messages

11 avr. 2008, 23:11

Bonjour,

Je veux trier un tableau associatif en fonction du deuxième élément "aplha2" :

Code : Tout sélectionner

<? $toto[0]=array("aplha"=>"A","aplha2"=>"F"); $toto[1]=array("aplha"=>"B","aplha2"=>"G"); $toto[2]=array("aplha"=>"C","aplha2"=>"H"); $toto[3]=array("aplha"=>"D","aplha2"=>"I"); $toto[4]=array("aplha"=>"E","aplha2"=>"J"); array_multisort($toto, SORT_ASC, SORT_STRING); print("<pre>"); print_r($toto); print("</pre>"); ?>
Je dois faire une fausse manipe avec : array_multisort($toto, SORT_ASC, SORT_STRING);

Je voudrais trier en fonction du 2 eme elements ...

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

12 avr. 2008, 01:15

C'est incroyable ce qu'on peut trouver quand on lit la doc d'une fonction... :wink:
array_multisort() nécessite un tableau de colonnes (...) nous utilisons le code suivant pour obtenir les colonnes et ainsi effectuer le tri.
<?php
// Obtient une liste de colonnes
foreach ($data as $key => $row) {
    $volume[$key]  = $row['volume'];
    $edition[$key] = $row['edition'];
}

// Trie les données par volume décroissant, edition croissant
// Ajoute $data en tant que dernier paramètre, pour trier par la clé commune
array_multisort($volume, SORT_DESC, $edition, SORT_ASC, $data);
?> 
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...