解决PHP数组json_encode有数字下标

167 阅读1分钟

后端人员写接口时候,经常会对数组进行条件过滤,当数组被unset数据后,用json_encode格式化时会带有下标

微信截图_20240216204124.png 返回值如下

{
    "0": {
        "uid": "1001",
        "name": "张三",
        "score": "80"
    },
    "2": {
        "uid": "1003",
        "name": "王五",
        "score": "74"
    },
    "3": {
        "uid": "1004",
        "name": "李六",
        "score": "93"
    }
}

显然上面的返回值不符合我们的预期结果,我们需要无下标的json数据,上述代码只需稍微改动一下,用PHP自带array_values就能达到目的

echo json_encode(array_values($scoreData));

返回值如下

image.png