У меня есть массив с объектами, и я хочу отсортировать массив по свойству объекта. Поэтому я должен использовать usort для этого. Но мой массив остается несортированным. Так что Я добавил несколько var_dumps в свой код для отладки . Вот мой код:
var_dump(count($fields));
usort($fields, function ($a, $b) {
var_dump("A");
return ($b->getPosition() - $a->getPosition());
});
var_dump("B");
die;
Результат таков: int(4) string(1) "B"
, и ..
Я ожидаю увидеть string(1) "A"
также напечатанный
Похоже, что внутри функции usort ничего не происходит. Что может объяснить это поведение? Моя версия PHP - 7.1.21
(Я отредактировал код выше, но он все еще не работает. Нет зарегистрированного A и массив не отсортирован)