Я пытаюсь использовать json_encode
на большом массиве, и результат ничего не возвращает (да, я проверил, что это utf-8). Когда я начал исследовать эту проблему, я обнаружил, что проблема возникает, когда строка становится больше, чем 65536.php json_encode большой массив
Итак, когда мой массив имеет размер 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>';
P.S. извините, ребята. Я нашел проблему, благодаря человеку с неподтвержденным именем :-) (спасибо вашему Лоуренсу). <pre>
является виновником ... по какой-то причине он не печатает строку в моем браузере, но она есть.
Лоуренс, если хотите, вы можете просто написать его, и я приму его как правильно. Потому что вы были причиной того, что я придумал это.
Пожалуйста, убедитесь, что сообщения об ошибках включена – HamZa
Вы можете повторно воспроизвести поведение, в качестве примера. –
Не печатает строку, но она на самом деле там? Теперь это даже странно. ': P' –