2012-04-13 48 views
0

似乎我的旧服务器,这将返回NULL或错误...新的服务器返回值,怪异的。json_decode认为一个正常的字符串是有效的

var_dump(json_decode("this is a normal string, not JSON")); 

输出:

string(33) "this is a normal string, not JSON"

预计:

NULL

+0

你是对的,它应该返回'null'(快速测试http://writecodeonline.com/php/)。你在某个地方犯了一个愚蠢的错误吗?像传入'“\”这是一个正常的字符串,而不是JSON \“”'? – Halcyon 2012-04-13 22:07:55

+1

无法重现,此处返回'null'。但是,我在codepad.org上测试了它,并在那里返回字符串。我使用5.3.6。也许更新有帮助 – KingCrunch 2012-04-13 22:08:28

+0

什么PHP版本是在非工作服务器上?我在手册页上阅读过,参考5.2.6的[this comment](http://www.php.net/manual/en/function.json-decode.php#98971)看起来与你的相似吗? IIRC 5.2.X有一些错误版本,可能是这样吗? – 2012-04-13 22:12:10

回答

0

你还没有真正制定一个问题,但我尽量尝试回答这个问题:

每软件包含错误。这很正常。我们共享代码,我们分享这些错误。你问的是PHP中的reported and fixed软件漏洞。升级您的PHP版本或与错误一起生活。