首页新闻找找看学习计划

超难问题!请大神速来解决!

0
[待解决问题]

使用tp3.2框架,直接输出的json数据$data长度明明是27,为什么通过http请求获取到的数据长度为30?多出来且看不到的3个字符是什么?
一开始认为是bom头的问题,但是使用工具转为UTF-8 无 BOM格式后依然是如上情况,请高手支招!


代码如下:

    public function testbom(){
        $url = 'http://localhost/Test/Home/UU/sayjson';
        $res = http($url);
        var_dump($res);//在这里打印的长度为30
        $json = json_decode($res);
        echo $json->code;
    }

    public function sayjson(){
        $arr = array(
            'msg' => '1',
            'code' => '123456'
        );
        $data = json_encode($arr);
        echo $data;
        //echo strlen($data);//在这里打印的长度为27
    }
问题补充:

最后判定是bom头的问题,但是尝试多种工具都是去不掉!!急

虫儿飞1982的主页 虫儿飞1982 | 菜鸟二级 | 园豆:202
提问于:2017-11-03 20:40
< >
分享
所有回答(2)
0

试试在输出前面加上一句

ob_get_clean();ob_clean();

子瓜01 | 园豆:235 (菜鸟二级) | 2017-11-06 11:27
0
$json = json_decode($res);
//改成
$json = json_decode($res, true);
mechnaic | 园豆:225 (菜鸟二级) | 2017-11-15 13:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册