使用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 }
试试在输出前面加上一句
ob_get_clean();ob_clean();
$json = json_decode($res); //改成 $json = json_decode($res, true);