I have an array with specific values in it and i would like to sort the array on a specific value in it. For instance, TOTCOM_METIER DESC. Ex :
Array
(
[0] => Array
(
[TOTCOM_METIER] => 1
[metier] => Traiteur
)
[1] => Array
(
[TOTCOM_METIER] => 4
[metier] => Restauration traditionnelle
)
[2] => Array
(
[TOTCOM_METIER] => 2
[metier] => Coiffure
)
)
I would like to sort it on TOTCOM_METIER DESC to have this result :
Array
(
[0] => Array
(
[TOTCOM_METIER] => 4
[metier] => Restauration traditionnelle
)
[1] => Array
(
[TOTCOM_METIER] => 2
[metier] => Coiffure
)
[2] => Array
(
[TOTCOM_METIER] => 1
[metier] => Traiteur
)
)
<?php
$arr = Array(
0 => Array
(
'TOTCOM_METIER' => 1,
'metier' => 'Traiteur'
),
1 => Array
(
'TOTCOM_METIER' => 4,
'metier' => 'Restauration traditionnelle'
),
2 => Array
(
'TOTCOM_METIER' => 2,
'metier' => 'Coiffure'
)
);
//define custom "comparator" (in reverse order)
function cmp($a, $b){
$key = 'TOTCOM_METIER';
if($a[$key] < $b[$key]){
return 1;
}else if($a[$key] > $b[$key]){
return -1;
}
return 0;
}
usort($arr, "cmp");
print_r($arr);
?>
Try this,
function compare($a, $b)
{
return ($a['TOTCOM_METIER']< $b['TOTCOM_METIER']);
}
usort($your_array, "compare");
Here is usort docs which states Sort an array by values using a user-defined comparison function
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With