PHP, Trier tableau selon une colonne

Fermé
Korben64 Messages postés 7 Date d'inscription mardi 3 juillet 2012 Statut Membre Dernière intervention 29 août 2015 - 3 juil. 2012 à 12:25
Korben64 Messages postés 7 Date d'inscription mardi 3 juillet 2012 Statut Membre Dernière intervention 29 août 2015 - 3 juil. 2012 à 14:20
Bonjour,

J'ai en PHP le tableau suivant:

Array
(
[0] => Array
(
[id_specific_price] => 60
[id_product] => 8
[id_shop] => 0
[id_currency] => 0
[id_country] => 0
[id_group] => 0
[price] => 0.000000
[from_quantity] => 5
[reduction] => 0.500000
[reduction_type] => percentage
[from] => 0000-00-00 00:00:00
[to] => 0000-00-00 00:00:00
[score] => 0
[quantity] => 5
[real_value] => 50
[nextQuantity] => 3
)

[1] => Array
(
[id_specific_price] => 59
[id_product] => 8
[id_shop] => 0
[id_currency] => 0
[id_country] => 0
[id_group] => 0
[price] => 0.000000
[from_quantity] => 3
[reduction] => 0.300000
[reduction_type] => percentage
[from] => 0000-00-00 00:00:00
[to] => 0000-00-00 00:00:00
[score] => 0
[quantity] => 3
[real_value] => 30
[nextQuantity] => -1
)

)

Comment puis-je le trier selon les valeurs de [reduction] ? Je ne vois pas comment appliquer array_sort() dans ce cas de figure.

Merci !

2 réponses

Si ces données viennent d'une BDD, autant appliquer le tri à ce moment là.

Sinon, usort() :

function cmp($a, $b)
{
if ($a['reduction'] == $b['reduction']) {
return 0;
}
return ($a['reduction'] < $b['reduction']) ? -1 : 1;
}


usort($items, "cmp");
1