test

工作中碰到一个问题,把三个日志表里的数据取出,进行排序。


第一步很简单,直接用mysql进行排序。


那么问题来了,当把三个表的数据取出来之后,合并数组在一起之后。时间会是无序的。因为mysql只是对三张表进行了排序。


解决办法


用PHP的usort这个函数,可以自定义排序
下面上代码

usort($order,function($a,$b){if($a['pay_time']==$b['pay_time']){return0;}return($a['pay_time']<$b['pay_time'])?1:-1;});

第一个参数是要排序的数组,第二个参数是回调函数。在回调函数里面,可以对时间进行比较,这个时间你根据自己的需要进行正序或者是倒序的排序了。