注意PHP5.2.11之后的json_decode
2020-02-15 00:00
2466 查看
- 本文地址: https://www.laruence.com/2010/02/02/1272.html
- 转载请注明出处
在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()来验证转换是否正确.
相关文章推荐
- 一个关于if else容易迷惑的问题
- 5分钟学会PHP扩展开发与断点调试
- PHP教程系列3-写PHP程序前必须知道的5点信息
- PHP教程系列2-搭建PHP环境
- 我是如何拿到巨额漏洞奖金的
- Go 语言基础入门教程 —— 数据类型篇:数组切片的创建和遍历
- Go 语言基础入门教程 —— 数据类型篇:数组及其使用
- Go 语言基础入门教程 —— 数据类型篇:基本数据类型之间的转化
- Go 语言基础入门教程 —— 数据类型篇:字符串和字符类型
- Go 语言基础入门教程 —— 数据类型篇:浮点型与复数类型
- Go 语言基础入门教程 —— 数据类型篇:整型和运算符
- Go 语言基础入门教程 —— 数据类型篇:概述和布尔类型
- Go 语言基础入门教程 —— 常量和枚举
- Go 语言基础入门教程 —— 变量声明、初始化、赋值和作用域
- Go 语言基础入门教程 —— Go 项目基本工程管理示例
- Go 语言基础入门教程 —— 第一个 Go 程序