php - json_decode() 在不同的环境下返回不同的值

标签 php json json-deserialization

这让我很困惑,我不明白为什么会这样。

在我的本地主机上,它在 XAMPP 上运行 Windows 8.1 企业版和 PHP 5.6.15

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

返回

NULL

在 Linode 机器上运行 Ubuntu 14.04 LTS 和 PHP 5.5.9 的 LAMP(运行 Sentora 面板)

我明白了

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)

谢谢!

最佳答案

检查 json_last_error()这将返回上次 JSON 编码/解码期间发生的最后一个错误(如果有)。

我希望您会发现一些有趣的事实:) Cheerse!!

关于php - json_decode() 在不同的环境下返回不同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46907550/

相关文章:

php - Laravel + Swift 邮件程序 : Error: no valid recipients

PHP PDO 尝试在登录时更改导航栏

php - 使用 PHP 和 MySQL 创建成员(member)个人资料页面

javascript - 如何解决这个javascript函数

java - Jackson:尝试将 JSON 反序列化为 java 对象时未解析的前向引用

c# - HTTP 绑定(bind) Azure 函数中的自动反序列化是否考虑区域设置特定信息?

javascript - 每分钟获取 PHP 变量

java - 如何在Java中获取HTTP错误400的响应json

c# - 如何在自适应对话框 HttpRequest 中从 xml 转换为 json?

symfony - 在 symfony2 中创建 JMS Serializer 处理程序