• 周六. 3月 2nd, 2024

    json_encode返回是[]前端要求是一个对象{}

    root

    7月 12, 2023 #json_encode, #php

    工作中往往我们会遇到这种情况

    <?php
    //假如我们有如下代码
    $arr = [
        'id'=> 100,
        'student' => []
    ];
    echo json_encode($arr);

    当我们运行这段脚本时的返回值可以看到, student的值是一个[] 数组

    然而, 实际工作中前端的同学,在这里希望student返回的是一个{} 对象, 这时我们应该怎么处理呢?

    PHP的json_encode的函数为我们提供了一个常量 JSON_FORCE_OBJECT, 我们在PHP手册找到它的说明

    如上述程序,我们修改后

    <?php
    $arr = [
        'id'=>100,
        'student'=>[]
    ];
    echo json_encode($arr, JSON_FORCE_OBJECT);
    

    然后运行查看结果如下,是我们预期的结果

    json_encode函数有很多常量, 我们可以熟悉一下每一个的用途, 然后实际工作中遇到了就可以直接解决问题.

    root