按照两个条件对PHP数组进行排序
创始人
2024-08-24 13:30:07
0

以下是按照两个条件对PHP数组进行排序的示例代码:

$students = array(
    array('name' => 'John', 'age' => 21),
    array('name' => 'Jane', 'age' => 19),
    array('name' => 'Mike', 'age' => 22),
    array('name' => 'Emily', 'age' => 20)
);

// 按照年龄升序排序,如果年龄相同则按照姓名升序排序
usort($students, function($a, $b) {
    if ($a['age'] == $b['age']) {
        return strcmp($a['name'], $b['name']);
    }
    return $a['age'] - $b['age'];
});

// 打印排序后的数组
foreach ($students as $student) {
    echo $student['name'] . ' - ' . $student['age'] . "\n";
}

输出结果为:

Jane - 19
Emily - 20
John - 21
Mike - 22

以上代码使用usort函数对数组进行排序。usort函数接受一个匿名函数作为比较函数,该函数定义了两个参数 $a$b,表示要比较的两个数组元素。在比较函数中,首先检查两个数组元素的年龄是否相同,如果相同则使用strcmp函数对姓名进行比较,如果不同则直接比较年龄。返回值为负数表示$a$b之前,返回值为正数表示$a$b之后,返回值为0表示两个元素相等。最后通过foreach循环打印排序后的数组。

相关内容

热门资讯

推荐一款(中至常熟麻将技巧)本... 您好,中至常熟麻将技巧这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在...
盘点几款(天天贵阳手机麻将通用... 盘点几款(天天贵阳手机麻将通用胡牌神器)往昔真的有挂(辅助挂)2025版教程(2026已更新)(哔哩...
一分钟教你(豆豆斗牌辅助器)确... 一分钟教你(豆豆斗牌辅助器)确实是有挂(辅助挂)揭秘教程(2021已更新)(哔哩哔哩);豆豆斗牌辅助...
一分钟快速了解(手机唯思竞技麻... 一分钟快速了解(手机唯思竞技麻将有挂)起初真的是有挂(辅助挂)技巧教程(2022已更新)(哔哩哔哩)...
最新研发(浙江游戏大厅插件)先... 您好,浙江游戏大厅插件这款游戏可以开挂的,确实是有挂的,需要了解加微【136704302】很多玩家在...
必知教程(大盘山棋牌有挂)好像... 必知教程(大盘山棋牌有挂)好像存在有挂(辅助挂)详细教程(2025已更新)(哔哩哔哩);大盘山棋牌有...
重磅来袭(山西大唐麻将系统规律... 重磅来袭(山西大唐麻将系统规律)确实是真的有挂(辅助挂)细节揭秘(2021已更新)(哔哩哔哩);超受...
大神推荐(哈哈长沙麻将可以提高... 大神推荐(哈哈长沙麻将可以提高胜率)总是有挂(辅助挂)揭秘教程(2023已更新)(哔哩哔哩);1、选...
发现一款(大齐山东麻将有挂)确... 您好,大齐山东麻将有挂这款游戏可以开挂的,确实是有挂的,需要了解加微【485275054】很多玩家在...
分享一款(浙江游戏大厅游戏外挂... 【福星临门,好运相随】;分享一款(浙江游戏大厅游戏外挂)往昔存在有挂(辅助挂)透牌教程(2021已更...