Tri de tableaux multi-dimensionnels

Contenu du snippet

array tri (array array, string critere)

retourne le tableau array, trié selon le critere de comparaison. Les tableaux a triés sont a deux dimensions: une liste de tableaux associatifs, et c'est la clé des tableaux associatifs qui sera utilisée comme critère.
Typiquement, c'est le genre de tableaux qu'on obtient quand on extrait des données d'une base.

Source / Exemple :


function cmp($ar1, $ar2, $key)
{
  return ( ($ar1[$key] > $ar2[$key]) ? 1 : ( ($ar1[$key] == $ar2[$key]) ? 0 : -1));
}

function tri($array, $critere)
{
  $cmp = create_function('$a, $b', 'return cmp($a, $b, "'.$critere.'");');
  uasort($array, $cmp);
  return $array;
}

Conclusion :


[Exemple]
$array = array(
array('nom'=>'Nicolas', 'age'=>21),
array('nom'=>'Zac', 'age'=>12),
array('nom'=>'Alice', 'age'=>8)
);

print_r(tri($array, 'nom')); // affiche le tableau trié par noms croissants
print_r(tri($array, 'age')); // affiche le tableau trié par ages croisants

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.