我想在大數組上使用json_encode
,結果什麼都沒返回(是的,我檢查它是utf-8)。當我開始調查此問題時,發現問題出現在字符串變得大於65536時。php json_encode big array
因此,當我的數組大小爲1245時,其字符串json_encode
的長度爲字符串(65493),但當我增加數組只有一個,字符串變得比65536更長,json_encode無法輸出任何結果。
我認爲這個問題是因爲memory limit
,但是當我檢查我的php.ini時,我發現它是-1。
任何想法可能是一個問題?
基本上我做這樣的事情:
$arr = array();
for($i =0; $i<9000; $i++){
$arr[] = array(
'name' => 'test',
'str' => md5($i)
);
}
echo '<pre>'.json_encode($arr).'</pre>';
附:對不起。我發現了這個問題,這要感謝一位不可打印名字的人:-)(感謝你的勞倫斯)。 <pre>
是罪魁禍首...由於某種原因,它不會在我的瀏覽器中打印字符串,但它在那裏。
勞倫斯,如果你願意,你可以寫下來,我會接受它是正確的。因爲你是我提出這個問題的原因。
請確保錯誤報告已啓用 – HamZa
你能否再重現行爲,在一個例子。 –
它不打印字符串,但它實際上在那裏?現在,這甚至是更怪異的。 ':P' –