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>';
?>