usort — 使用用户自定义的比较函数对数组中的值进行排序

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了usort — 使用用户自定义的比较函数对数组中的值进行排序相关的知识,希望对你有一定的参考价值。

test

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


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


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


解决办法


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

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

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

以上是关于usort — 使用用户自定义的比较函数对数组中的值进行排序的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP usort() 通过用户自定义的比较函数对数组进行排序

使用usort和自定义比较函数的多维数组/对象排序

关于回调函数 usort() uksrot() sort() 介绍简介实验是从小到大排序

二维数组重新排序

使用 usort 对数组进行排序

使用 AutoIt 的用户定义排序比较