Я хотел бы отсортировать массив объектов по свойству конкретного объекта. Это мой массив с объектами:Сортировка массива с объектами по свойству объектов
Как вы можете видеть, у меня есть массив $all_studies
с 2 объектов. Как я могу теперь отсортировать по свойству graduationYear
объектов? Поэтому я хотел бы иметь массив с объектами и порядок с объектом 2010 сначала, затем 2014, ... (в этом случае порядок уже правильный, но это не всегда будет одинаковым ..).
Это то, что я пытался, но без Succes:
$all_studies = usort($all_studies, "sort_objects_by_graduationyear");
function sort_objects_by_graduationyear($a, $b) {
if((int)$a->graduationYear == (int)$b->graduationYear){ return 0 ; }
return ($a->graduationYear < $b->graduationYear) ? -1 : 1;
}
Но я просто получить true
обратно. Я никогда не использовал функцию usort, поэтому я не знаю, как с ней работать. Кто-нибудь может мне помочь?
см [ссылка] (http://stackoverflow.com/questions/4282413/sort-array-of-objects-by-object-fields) –
'usort' сортирует на месте, не * возврат * результат. См. Примеры в [руководстве] (http://php.net/usort). – deceze
Что делать, если я хочу чан-г-р заказ, от большего до лиза, что я могу изменить в ур-функции, чтобы заставить его работать, натан? –