您的位置:首页 > 编程语言 > PHP开发

注意PHP5.2.11之后的json_decode

2020-02-15 00:00 2466 查看

在PHP5.2.6以前, json_decode一个字符串, 将会返回字符串本身.

php -r "var_dump(json_decode('laruence'));"
//输出
string(8)"laruence";

但是, 不知道是不是因为之前在php bug中, 有人提议对于这种情况, 因为字符串不是合法的json格式的串, 所以应该出错, 返回NULL(http://bugs.php.net/bug.php?id=45989). 所以在PHP5.2.11之后(具体是从哪个版本开始, 我回头再验证), 竟然返回NULL了.

php -r "var_dump(json_decode('laruence'));"
//输出
NULL

但值得注意的是, 对于numeric_string, 都是返回numeric_string的数值形式.

php -r "var_dump(json_decode('0x3f34'));"
//输出
int(16180)

另外, 在PHP5.3以后,可以通过json_last_error()来验证转换是否正确.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  5.2.11 json json_decode PHP