json_deocde默认处理的字符串必须是utf8的,所以当字符串被编码成gbk的时候,json_decode 将无法解析,因此就会返回null.

处理办法很简单,直接调用php内置函数$sign_info = iconv('GB2312', 'UTF-8', $sign_info);

就可以将$sign_info从gbk编码转换成utf8,接着调用json_decode($sign_info);就可以得到json对象了,就可以遍历了