Этот код:
$arr = array(
'a' => 1,
'b' => array(
'c' => 'Hello',
'd' => [1, 10, 100, 1001]
),
);
echo json_encode($arr, JSON_PRETTY_PRINT, 2);
Генерирует эту ошибку:
json_encode () ожидает максимум 2 параметра, 3 заданных
Однако в последний раз я проверял, json_encode принимает третий аргумент
Я хочу расширить строку JSON на меньшую глубину. Разве это не 3-е решение здесь? Но почему он выдает эту ошибку, в то время как PHP doc говорит, что принимает 3?
К вашему сведению, я на WAMP с PHP 5.4.
Со страницы, на которую вы ссылаетесь:
5.5.0 параметр глубины был добавлен.
Поскольку вы используете PHP 5.4, ваша версия PHP слишком старая, чтобы поддерживать третий аргумент. PHP 5.4 также прошел конец жизни.
Обновление до поддерживаемой версии PHP. Предпочтительно ветка 7.x, поскольку ни одна ветка 5.x не имеет статуса лучше, чем «только исправления безопасности».
Других решений пока нет …