假设我们有一个事件数组,键是时间戳,值是事件描述:
<?php
$events = [
1685702400 => '事件A发生',
1685788800 => '事件B发生',
1685616000 => '事件C发生',
];
// 使用 krsort 对数组按键(时间戳)进行倒序排序
krsort($events);
foreach ($events as $timestamp => $event) {
echo date('Y-m-d H:i:s', $timestamp) . " - $event\n";
}
?>
运行结果:
2023-06-03 00:00:00 - 事件B发生
2023-06-02 00:00:00 - 事件A发生
2023-06-01 00:00:00 - 事件C发生
通过 krsort,事件按照时间倒序排列,最新的事件在最前面。
有时事件不仅是简单的描述,而是包含多个字段,比如标题、内容等。我们依然可以用时间戳作为外层数组的键,方便使用 krsort。
<?php
$events = [
1685702400 => [
'title' => '事件A',
'content' => '事件A的详细内容',
],
1685788800 => [
'title' => '事件B',
'content' => '事件B的详细内容',
],
1685616000 => [
'title' => '事件C',
'content' => '事件C的详细内容',
],
];
krsort($events);
foreach ($events as $timestamp => $event) {
echo date('Y-m-d H:i:s', $timestamp) . " - {$event['title']}: {$event['content']}\n";
}
?>
同样可以得到时间倒序排列的事件列表。
krsort 根据数组键名逆向排序,适合时间戳排序。
用时间戳作为数组键时,krsort 可以快速实现倒序排列。
事件记录可以是简单字符串,也可以是复杂结构,krsort 都适用。
排序后可用 foreach 遍历,按最新事件优先输出。
掌握了 krsort,你就可以更灵活地对基于时间的数据进行倒序处理,方便开发日志系统、时间轴展示等功能。