<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<TITLE>Tri d'un tableau</TITLE>
<link REL="stylesheet" TYPE="text/css" HREF="http://www.grappa.univ-lille3.fr/~torre/site.css">
</HEAD>
<BODY>
<DIV CLASS="menu">
<DIV CLASS="partmenu">

<UL>

<LI> voir le <A HREF="http://www.grappa.univ-lille3.fr/~torre/Enseignement/TPs/PHP/sort.php.src">code de cette page</A>

<LI> retour à la page des <A HREF="http://www.grappa.univ-lille3.fr/~torre/Enseignement/TPs/PHP/">Travaux pratiques PHP</A>

<LI> retour à la page de <A HREF="http://www.grappa.univ-lille3.fr/~torre/">Fabien Torre</A>
</UL>

</DIV>
</DIV>
<DIV CLASS="page">
<H1>Tri d'un tableau</H1>
<BR>
<BR>
<CENTER>
<!-- vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv -->
<?php
    $tab 
= array ("Roland""Christine""Alfred""Charles");
    echo 
"<P>Tableau avant <TT>sort</TT> :\n";
    for (
$i $i count($tab) ; $i++) {
        echo 
$tab[$i], "\n";
    }
    echo 
"<BR>\n";
    
sort($tab);
    echo 
"Tableau après <TT>sort</TT> :\n";
    for (
$i $i count($tab) ; $i++) {
        echo 
$tab[$i], "\n";
    }
    echo 
"<BR>\n";
    
$ages = array (
    
"toto" => 20,
        
"titi" => 30,
        
"tata" => 25,
        
"tutu" => 28 );
    
asort($ages);
    echo 
"<P>\n";
    while (list(
$nom$age) = each($ages)) {
        echo 
"$nom a $age ans<BR>\n";
    }
    
ksort($ages);
    echo 
"<P>\n";
    while (list(
$nom$age) = each($ages)) {
        echo 
"$nom a $age ans<BR>\n";
    }
?>
<!-- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -->
</CENTER>
<BR>
<BR>
<OL>
<LI> La fonction <TT>sort</TT> de PHP permet de trier des tableaux.
<LI> On utilise la fonction <TT>asort</TT> pour trier un tableau
    associatif suivant ses valeurs.
<LI> On utilise la fonction <TT>ksort</TT> pour trier un tableau
    associatif suivant ses clés.
<LI> Pour chacune de ces fonctions, il existe une fonction duale qui fait le tri en ordre inverse :
<TT>rsort</TT>, <TT>arsort</TT> et <TT>krsort</TT>.
<li> Enfin, on peut vouloir trier suivant un critère particulier, il existe pour cela
les fonctions <tt>usort</tt>, <tt>uasort</tt> et <tt>uksort</tt>. Ces fonctions prennent
un deuxième argument qui est le nom de la fonction à utiliser pour comparer deux éléments.
</li>
</OL>
<BR><BR><BR>

</DIV>
</BODY>
</HTML>