我试图在一个大数组上使用json_encode,结果什么都不返回(是的,我检查它是utf-8).当我开始调查此问题时,我发现当字符串变得大于65536时会出现问题.
因此,当我的数组大小为1245时,其来自json_encode的字符串具有字符串长度(65493),但是当我将数组增加一个时,字符串变得长于65536,json_encode无法输出任何结果.
我认为问题是因为内存限制,但是当我检查我的php.ini时,我发现它是-1.
知道什么可能是个问题吗?
基本上我做的是这样的:
$arr = array();
for($i =0; $i<9000; $i++){
$arr[] = array(
'name' => 'test',
'str' => md5($i)
);
}
echo '
'.json_encode($arr).'';
附:对不起大家.我发现了这个问题,感谢一个名字不明确的人:-)(谢谢你的劳伦斯).
是罪魁祸首…由于某种原因,它不会在我的浏览器中打印字符串,但它就在那里.
劳伦斯,如果你愿意,你可以写它,我会接受它是正确的.因为你是我想出这个的原因.