我从数据库中获取记录,返回数组如下:
Array
(
[0] => stdClass Object
(
[id] => 2
[name] => ravi
[text] => hey
[date] => 2011-05-1
)
[1] => stdClass Object
(
[id] => 3
[name] => shiv
[text] => bye
[date] => 2011-04-29
)
[2] => stdClass Object
(
[id] => 4
[name] => adi
[text] => hello
[date] => 2011-04-30
)
)
如何根据日期元素对此进行排序?
答案 0 :(得分:3)
您应该在实际获取之前对其进行排序,这意味着使用数据库查询中已有的“ORDER BY”子句!
为什么?
答案 1 :(得分:2)
您可能会发现usort()
功能有用:http://docs.php.net/manual/en/function.usort.php
您可以将以下函数作为第二个参数传入:
function cmp($a, $b)
{
if ($a->date == $b->date) {
return 0;
}
return ($a->date < $b->date) ? -1 : 1;
}
答案 2 :(得分:1)
理想情况下,您应该使用...ORDER BY
日期..
..但如果你真的想用php做,请查看sort下手册中的用户注释,有如何排序的例子(你可以用rsort()或asort申请()或arsort()取决于你是想保存键还是降序或等等)