Сортировка данных в php

Например, у нас есть какой то набор данных, в stdClass. Он многомерный, и его надо сортировать, например по дате.
Делаем первое

array_walk_recursive($t, function(&$t) {return $t->date=strtotime($t->Created);});

Здесь мы создаем дополнительный элемент, к каждому набору записи, в которую записываем unix timestamp для сравнения.
Далее, сортируем набор данных по полю date

usort($t, function($a, $b){
return ($b->date - $a->date);
});

Не знаю, насколько это быстрее foreach или for, пока у меня не было несколько миллиардов записей, а до 1000 записей, существенной разницы не увидим.

Для более сложной сортировки, лучше использовать array_multisort, но это уже только для массива, хотя stdClass позволяет работать как с массивом.

Сортировка данных в php: Один комментарий

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>