PHP 5 -Tri tableau multidimensionnel avec usort
22 juin 2012
Cette classe permet de trier un tableau selon l'index ord (dans de mon exemple)
Il faut l'utiliser de cette façon
Et voilà le tableau trié selon la valeur de la clé ord :
blog comments powered by Disqus
class Ord {
/**
* Permet de comparer 2 chaine et de déterminer laquelle est supérieure à l'autre
* Est utilisé dans le trie de tableau 'usort'
* @param string $a 1ere chaine
* @param string $b 2eme chaine
* @return int Retourne un entier inférieur à, égal à, ou supérieur à 0
* si le 1er argument est considéré comme,
* respectivement, inférieur à, égal à, ou supérieur au second.
*/
private function comparer($a, $b) {
return strcmp($a['ord'], $b['ord']);
}
public function get() {
return usort($this->data, array('Ord', 'comparer'));
}
}
Il faut l'utiliser de cette façon
$test = new Ord();
$test->data = array('initOrd' => 1 , 'ord' => 3);
$test->data = array('initOrd' => 2 , 'ord' => 1);
$test->data = array('initOrd' => 3 , 'ord' => 2);
$test->get();
Et voilà le tableau trié selon la valeur de la clé ord :
Array
(
[0] => Array=
(
[initOrd] => 2
[ord] => 1
)
[1] => Array
(
[initOrd] => 3
[ord] => 2
)
[2] => Array
(
[initOrd] => 1
[ord] => 3
)
)