$data = [
[
'cat'=>'A',
'catOrder'=>2,
'data'=>[
['name'=>'user', 'order'=>2],
['name'=>'user', 'order'=>1],
['name'=>'user', 'order'=>3]
]
],
[
'cat'=>'B',
'catOrder'=>1,
'data'=>[
['name'=>'user', 'order'=>2],
['name'=>'user', 'order'=>1]
]
]
]
what is the best way to sort the above array in php by first "catOrder" and then also by "order" field in data array
I tried using first
foreach($data as &$row){
usort($row['data'], function($a, $b){ return strcmp($a['order'],
$b['order']);});
}
and then
uasort($data, function($a, $b){ return strcmp($a['catOrder'], $b['catOrder'])});
It seems to be working but I just wanted to know if there is any better and more efficient way?