php的一个小坑,输出不了json_encode

Posted 贝尔塔猫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php的一个小坑,输出不了json_encode相关的知识,希望对你有一定的参考价值。

明明是旧代码,怎么换个地方就不执行了。一开始怀疑是php的版本。

最后才知道是我的编辑器nodepad++给坑了。或许不是nodepad++的坑。总之,需要转化为utf-8格式编码即可

<?php
header(‘Access-Control-Allow-Origin:*‘);  
header(‘Access-Control-Allow-Methods:GET,POST‘);  
header(‘Access-Control-Allow-Headers:x-requested-with,content-type‘); 

class Menu {
    // 菜单ID,这些都是从数据库取
    public $id = 0;
    // 菜单名
    public $name = ‘‘;
    // 连接地址
    public $link = ‘‘;
    // 图标
    public $icon = ‘‘;
    // 子菜单,是一个列表,必须初始化为一个空数组,否则前端会出错
    public $subMenu = []; 
    // 构造函数
    public function __construct($id, $n, $l, $icon = ‘‘) {
        $this->id   = $id;
        $this->name = $n;
        $this->link = $l;
        $this->icon = $icon;
    }
}

// 菜单项目
$userMang = new Menu(‘1000‘, ‘用户管理‘, ‘‘, ‘user‘);
$userAdd  = new Menu(‘1001‘, ‘用户新增‘, ‘/user/add‘);
$userList = new Menu(‘1002‘, ‘用户列表‘, ‘/user/list‘);
$userMang->subMenu = [$userAdd, $userList];

// 站内信管理
$msgMang = new Menu(‘1010‘, ‘站内信管理‘, ‘‘, ‘laptop‘);
$msgAdd  = new Menu(‘1011‘, ‘发布站内信‘, ‘/msg/add‘);
$msgList = new Menu(‘1012‘, ‘站内信列表‘, ‘/msg/list‘);
$msgMang->subMenu = [$msgAdd, $msgList];

header(‘Content-type:application/json‘);
exit(json_encode([$userMang, $msgMang])); 

 

以上是关于php的一个小坑,输出不了json_encode的主要内容,如果未能解决你的问题,请参考以下文章

php解决json_encode输出GB2312中文问题 (数组)

php json_encode 数组输出\错误

使用PHP json_encode时输出阿拉伯语(Unicode)字符

php json_encode输出为空问题

php json_encode & newline, swift JSONSerialization 导致奇怪的输出

php json_encode不同于js的输出JSON.stringify [复制]