• 周五. 11 月 13th, 2026

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