Есть многомерный массив с данными вида:
Для сортировки использую функцию, сначала сравниваю очки, если == иду смотреть на сумму:
usort($result, function($a, $b) {
if($a['data']['stats']['point'] == $b['data']['stats']['point']) {
if($a['data']['stats']['sum'] == $b['data']['stats']['sum']) {
return 0;
}
return ($a['data']['stats']['sum'] > $b['data']['stats']['sum']) ? -1 : 1;
}
return ($a['data']['stats']['point'] > $b['data']['stats']['point']) ? -1 : 1;
});
Ожидаю, что при равных очках, будет сортировать по сумме, но как видим на скрине - нет. При этом, такой баг только с первыми элементами, дальше работает как нужно.