编程语言
首页 > 编程语言> > php usort

php usort

作者:互联网

自定义排序方式

贴一个官方示例

function my_sort ($a, $b)
{
    echo "\ta" . $a . $b . "b\t";
    
    // 如果两个数都是偶数,正常比较
    if ($a % 2 == 0 && $b % 2 == 0) {
        if ($a == $b) {
            return 0;
        }
        return $a < $b ? -1 : 1;
    }
    // 如果第一个值是偶数,返回第一个数大,第一个数向后排
    if ($a % 2 == 0) {
        return 1;
    }
    // 如果第二数是偶数,返回第一个数小,第一个数向前排
    if ($b % 2 == 0) {
        return -1;
    }

    // 如果都是奇数,正常比较
    return $a < $b ? -1 : 1;
}

输入

$a = array(22, 16, 57, 23);
usort($a, "my_sort");

打印对应my_sort函数的入参
a2216b		a5716b		a2223b		a1623b		a5723b

不清楚usort内部排序逻辑 是无法明白实际的排序规则的

所爱隔山海海 发布了50 篇原创文章 · 获赞 2 · 访问量 6373 私信 关注

标签:sort,return,第一个,usort,偶数,php,my
来源: https://blog.csdn.net/m0_37684037/article/details/104193746