json_decode () возвращает разные значения в разных средах

Это довольно загадочно для меня, и я не понимаю, почему это происходит.

На моем локальном хосте под управлением Windows 8.1 Enterprise Edition с PHP 5.6.15 на XAMPP

<?php var_dump(json_decode('26-10-2017'));

возвращается

NULL

в то время как на Linode box работает Ubuntu 14.04 LTS с PHP 5.5.9 на LAMP (работает Sentora Panel)

я получил

int(26)

Я был бы очень признателен всем, кто может объяснить мне это явление.

Я знаю, что это недопустимый JSON, однако я собираюсь узнать, что является причиной этой разницы в выходных данных и как этого избежать.


Я старался json_last_error()на самом деле я пытался

function isValidJSON($string) {
json_decode($string);
return (json_last_error() == JSON_ERROR_NONE);
}

Тем не менее, он не показывает никаких ошибок.

<?php var_dump(json_decode('26-10-2017')); var_dump(json_last_error());

Возвращает

int(26)
int(0)

Спасибо!

3

Решение

Проверьте json_last_error () которая возвращает последнюю ошибку (если есть), произошедшую во время последней кодировки / декодирования JSON.

Я надеюсь, вы найдете интересные факты 🙂 Cheerse !!

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]