php解析http获取的json字符串变量总是空白null

yipeiwu_com6年前PHP代码库

今天同事项目中遇到一个问题,通过http接口获取的json字符串使用json_decode始终无法正确解析,返回空白。

直接把结果字符串复制出来手动创建一个变量却正常,在前端js也能解析,搞了半天不得其解,借助强大的谷歌解决了问题,答案是接口吐出的结果包含有BOM头,BOM头这个东西可谓是php的死敌啊

不说了,直接上解决办法:

复制代码 代码如下:

if (substr($return, 0,3) == pack("CCC",0xef,0xbb,0xbf)) {
    $return = substr($return, 3);
}
$data = json_decode($return,true);

这里记录一下,分享给大家,希望对大家能够有所帮助。

相关文章

PHP curl模拟浏览器采集阿里巴巴的实现代码

没有不可能只有不去做,哈哈 复制代码 代码如下: <?php set_time_limit(0); function _rand() { $length=26; $chars =...

PHP的Yii框架中行为的定义与绑定方法讲解

定义行为 要定义行为,通过继承 yii\base\Behavior 或其子类来建立一个类。如: namespace app\components; use yii\base\Beh...

thinkphp关于简单的权限判定方法

实例如下: <li> <label>权限</label> <cite> <input name="MB_right" type...

PHP中4种常用的抓取网络数据方法

本小节的名称为 fsockopen,curl与file_get_contents,具体是探讨这三种方式进行网络数据输入输出的一些汇总。关于 fsockopen 前面已经谈了不少,下面开始...

Thinkphp框架中D方法与M方法的区别

D()和M()方法的区别: D和M的区别主要在于 M方法不需要创建模型类文件,M方法不会读取模型类,所以默认情况下自动验证是无效的,但是可以通过动态赋值的方式实现 而D方法必须有创建模型...