如何使用PHP对包含日期字段的JSON文件数据按日期降序排序
实现方案
首先需要先把所有JSON文件的date字段统一收集到数组中,完成排序后再批量输出,不要边读取边输出。
具体代码实现
// 读取data目录下所有json文件 $files = glob('data/*.json'); $dateList = []; // 遍历文件收集所有日期值 foreach($files as $file) { $obj = json_decode(file_get_contents($file)); $dateList[] = $obj->date; } // 排序逻辑:需要最早日期优先展示用sort()升序,需要最新日期优先展示用rsort()降序 sort($dateList); // 批量输出结果 foreach($dateList as $date) { echo $date . '<br />'; }
补充说明
- 你问题中提到的「降序排列(最早的日期优先展示)」存在术语冲突:
YYYY-MM-DD格式的日期字符串可以直接比较大小,常规排序逻辑里升序sort()会把更早的日期排在前面,降序rsort()会把更新的日期排在前面,你可以根据实际展示需求选择对应的排序函数。 - 如果存在JSON文件格式异常的场景,建议在
json_decode后增加校验逻辑避免代码报错。
内容的提问来源于stack exchange,提问作者john
相关产品推荐
相关产品推荐

