You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP如何读取JSON文件数组并按index值排序后返回JSON数组

PHP实现JSON数据按index字段升序排序并重置连续数字索引

实现步骤

  • 读取目标JSON文件的内容,做基础的文件读取合法性校验
  • 将读取到的JSON字符串解码为PHP关联数组,同时校验JSON格式合法性
  • 对数组按元素的index字段做升序排序,排序后自动重置数组键为从0开始的连续数字索引
  • 将处理完成的数组重新编码为标准JSON格式输出

完整实现代码

<?php
// 替换为你的JSON文件实际存储路径
$jsonFilePath = './your_data.json';

// 读取文件内容
$rawJson = file_get_contents($jsonFilePath);
if ($rawJson === false) {
    exit('JSON文件读取失败,请检查文件路径和权限');
}

// 解码JSON为关联数组
$arrayData = json_decode($rawJson, true);
if (json_last_error() !== JSON_ERROR_NONE) {
    exit('JSON格式错误:' . json_last_error_msg());
}

// 按index字段升序排序,usort会自动重置数组键为0起始的连续数字
usort($arrayData, function ($prev, $next) {
    return $prev['index'] - $next['index'];
});

// 编码为标准JSON:JSON_PRETTY_PRINT输出格式化带缩进的结果,JSON_UNESCAPED_UNICODE避免中文转义,JSON_FORCE_OBJECT输出带数字键的对象结构,和预期格式完全匹配
$result = json_encode($arrayData, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_FORCE_OBJECT);

// 输出最终结果
echo $result;
?>

注意事项

  • 不要使用asort()、uasort()这类保留原键名的排序函数,否则无法得到从0开始的连续数字索引,usort()排序后会自动重建数字索引,完全匹配需求。
  • 排序比较段直接计算两个元素index字段的差值,即可实现数值型升序排列,如果需要降序排列,将返回值改为$next['index'] - $prev['index']即可。
  • 如果不需要格式化输出带缩进的JSON,编码时去掉JSON_PRETTY_PRINT参数即可,不影响数据正确性;如果需要输出无键名的标准数组格式JSON,去掉JSON_FORCE_OBJECT参数即可。

运行结果

针对提供的原始JSON输入,上述代码运行后输出的结果和预期完全一致:

{
    "0": {
        "type": 12,
        "index": 115,
        "showType": 1,
        "achievementType": 0,
        "desc": "WING"
    },
    "1": {
        "type": 12,
        "index": 116,
        "showType": 1,
        "achievementType": 0,
        "desc": "WING"
    },
    "2": {
        "type": 12,
        "index": 117,
        "showType": 1,
        "achievementType": 0,
        "desc": "WING"
    },
    "3": {
        "type": 12,
        "index": 118,
        "showType": 1,
        "achievementType": 0,
        "desc": "WING"
    },
    "4": {
        "type": 12,
        "index": 119,
        "showType": 1,
        "achievementType": 0,
        "desc": "WING"
    }
}

内容的提问来源于stack exchange,提问作者Phát papa

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 05:51:17