MarvinLeRouge
Superactif
   
Hors-Ligne
Messages: 584

|
Salut,
J'ai récupéré un paquet de données provenant d'une base de données dans un tableau : une ligne de données récupérée par mysql_fetch_assoc directement ajoutée au tableau en question. J'ai donc un tableau dont chaque ligne est un tableau associatif. Les clés de ces lignes contiennent notamment date, theme et titre. Je voudrais pouvoir trier l'ensemble du tableau d'un coup, par (date décroissante, titre croissant), puis par (theme croissant, titre croissant). J'ai regardé du côté des fonctions de tri de tableaux, mais l'utilisation de array_multisort dans ce cas ne me parait pas évidente du tout. Et usort ne semble pas fonctionner quand la fonction de tri et le tableau cible font partie d'un objet.
Quelqu'un pourrait m'aider, svp ?
Merci
Code pour la création du tableau
$tabData = array (); while ($lineData = mysql_fetch_assoc ($resultSql)) { array_push ($tabData, $lineData); } |
|
Et démonstration du problème avec usort dans un objet Dans un objet
class test { var $tabTest = array ();
function tri ($x, $y) { $result = ($x == $y ? 0 : ($x > $y ? -1 : 1)); return ($result); }
function test () { $this->tabTest = range (0, 9); print_r ($this->tabTest); usort ($this->tabTest, "tri"); print_r ($this->tabTest); } } new test ();
|
|
Hors d'un objet
function tri ($x, $y) { $result = ($x == $y ? 0 : ($x > $y ? -1 : 1)); return ($result); } $tabTest = array (); $tabTest = range (15, 25); print_r ($tabTest); usort ($tabTest, "tri"); print_r ($tabTest);
|
| |