Comments 15
по-моему, вы забыли function($object1,$object2) using ($sortBy)
Забыли указать, что анонимные функции с версии 5.3 доступны стали.
Немного не в тему, но может кому будет интересна. По своему опыту, сортировка с помощью usort объектов, в котором много свойств — неэффективна.
То есть, идеальный вариант — это когда все свойства объекта нужны для корректной сортировки. В некоторых ситуациях будет правильней получить объекты с нужными свойствами(это в случае если не используется MySQL) или сделать копию объекта, где будут только необходимые свойства. Повторюсь, что это только в некоторых случаях.
То есть, идеальный вариант — это когда все свойства объекта нужны для корректной сортировки. В некоторых ситуациях будет правильней получить объекты с нужными свойствами(это в случае если не используется MySQL) или сделать копию объекта, где будут только необходимые свойства. Повторюсь, что это только в некоторых случаях.
Ресурс превращается в «PHP за 24 часа»
На самом деле не такой уж бесполезный софт. Многие мануал особо не изучают и часто даже не подозревают о таких вещах, как user sort функции. А иногда без них никуда :)
Издеваетесь? А что делают эти «многие» когда нужно отсортировать что-то по нестандартным числовым/алфавитным критериям?! Человек может и не помнить как называется функция, но не подозревать о ее существовании не может.
Абсолютно верно в комментариях пишут — не надо перепечатывать книжку «похапе для чайников».
Абсолютно верно в комментариях пишут — не надо перепечатывать книжку «похапе для чайников».
может вам стоит использовать DataMapper и получать объект коллекции?
>> Не делать же для этого три различных запроса в базу.
а если постраничная навигация? делать!
а если постраничная навигация? делать!
можно и так:
usort($objectSetForSort, array ($this, "_sortByStartTime"));
а объект $objectSetForSort должен содержать метод:
private function _sortByStartTime ($el1, $el2) {
return ($el1->start_time > $el2->start_time)? +1: -1;
}
и не нужны замыкания.
usort($objectSetForSort, array ($this, "_sortByStartTime"));
а объект $objectSetForSort должен содержать метод:
private function _sortByStartTime ($el1, $el2) {
return ($el1->start_time > $el2->start_time)? +1: -1;
}
и не нужны замыкания.
Sign up to leave a comment.
Сортировка объектов в PHP