ussort多字段布尔和数字排序



我的主数组是:

Array ( 
[0] => Array ( 
[active] => true
[age] => 15
)
[1] => Array (
[active] => false
[age] => 10 
)
[3] => Array (
[active] => false
[age] => 31 
)
[4] => Array (
[active] => true
[age] => 45
)
)

我需要使用ussort函数对数组进行排序,如下所示:

Array ( 
[0] => Array ( 
[active] => true
[age] => 15
)
[1] => Array (
[active] => true
[age] => 45
)
[3] => Array (
[active] => false
[age] => 10
)
[4] => Array (
[active] => false
[age] => 45
)
)

在函数ussort中,我希望两种排序都基于"active"one_answers"age">

希望这个答案能让你满意

$cmp = function ($a, $b) {
if ($a['active'] == $b['active']) {
return $a['age'] < $b['age'] ? -1 : 1;
} else if ($a['active'] == true) {
return -1;
} else {
return 1;
}
};
usort($arr, $cmp);

最新更新