Je viens d'avoir le problème suivant : comment trié un tableau comportant plusieurs colonnes en fonction de la seconde ou de la troisième colonne. Bref en fonction d'une autre que la première.

Si vous utilisé la fonction sort(), ce n'est pas possible. Il faut en fait opérer de la facon suivante :

<?php
// Initialisation d'un tableau de 2 colonne

$tab[0]=array('mot'=> 'exemple', 'traduction' => 'sample');
$tab[1]=array('mot'=> 'chien', 'traduction' => 'dog');
$tab[2]=array('mot'=> 'chat', 'traduction' => 'cat');

// Tri du tableau en fonction de la colonne traduction

asort($tab['traduction']);

// Copie dans un tableau nouveau tableau
// afin d'obtenir un tableau avec des index propres

$final=array();
$i=0;

foreach($tab['traduction'] as $cle => $valeur) {

$final['mot'][$i]=$tab['mot'][$cle];
$final['traduction'][$i]=$tab['traduction'][$cle];
$i++;

}
?>
Et voila un beau tableau trier en fonction de la seconde colonne. Attention toutefois, le tri est case-sensitive. Ce qui peut conduire à des résultats surprenants. Cf truc et astuces sur le tri alphabétique.

Proposé par Olivier HUET