PHP : tri d'un tableau à plusieurs colonnes
peek44
-
le père -
le père -
Bonjour,
Je souhaiterai pouvoir trier un tableau à plusieurs colonnes en PHP.
Voici le code correspondant à la déclaration du tableau :
$toto[]=array("dept"=>"59","ville"=>"Lille");
$toto[]=array("dept"=>"13","ville"=>"Marseille");
$toto[]=array("dept"=>"75","ville"=>"Paris");
$toto[]=array("dept"=>"33","ville"=>"Bordeaux");
$toto[]=array("dept"=>"44","ville"=>"Nantes");
Je voudrai que la donnée ville ressort de façon alphabétique selon :
Bordeaux
Lille
Marseille
Nantes
Paris
J'ai testé avec sort, asort, array_multisort mais j'obtiens toujours des messages d'erreurs, est-ce que quelqu'un aurait la solution ?
Merci d'avance
Je souhaiterai pouvoir trier un tableau à plusieurs colonnes en PHP.
Voici le code correspondant à la déclaration du tableau :
$toto[]=array("dept"=>"59","ville"=>"Lille");
$toto[]=array("dept"=>"13","ville"=>"Marseille");
$toto[]=array("dept"=>"75","ville"=>"Paris");
$toto[]=array("dept"=>"33","ville"=>"Bordeaux");
$toto[]=array("dept"=>"44","ville"=>"Nantes");
Je voudrai que la donnée ville ressort de façon alphabétique selon :
Bordeaux
Lille
Marseille
Nantes
Paris
J'ai testé avec sort, asort, array_multisort mais j'obtiens toujours des messages d'erreurs, est-ce que quelqu'un aurait la solution ?
Merci d'avance
A voir également:
- Php trier tableau selon colonne
- Trier colonne excel - Guide
- Tableau word - Guide
- Déplacer colonne excel - Guide
- Tableau ascii - Guide
- Colonne word - Guide
2 réponses
Bonjour
avec usort :
avec usort :
<?php function MaFonctionTri($element1,$element2) { // comparer les noms de villes if ($element1['ville'] < $element2['ville'] ) return -1; if ($element1['ville'] > $element2['ville'] ) return 1; // si même ville, comparer les départements if ($element1['dept'] == $element2['dept'] ) return 0; return ($element1['ville'] < $element2['ville'] ) ?-1:1; } ?> <?php $toto[]=array("dept"=>"59","ville"=>"Lille"); $toto[]=array("dept"=>"13","ville"=>"Marseille"); $toto[]=array("dept"=>"75","ville"=>"Paris"); $toto[]=array("dept"=>"33","ville"=>"Bordeaux"); $toto[]=array("dept"=>"44","ville"=>"Nantes"); usort($toto,'MaFonctionTri'); echo '<table>'; foreach ($toto as $UneVille) { echo '<tr><td>',$UneVille['ville'],'</td><td>',$UneVille['dept'],'</td></tr>'; } echo '</table>'; ?>