PHP常见概念混淆(二)之json_encode和json_decode

今天帮同事找bug的时候,突然发现为什么json_encode存进去的字符串,返回来的有对象也有数组,对这块也有点懵。

第一步:先查手册

http://php.net/manual/zh/function.json-encode.php      

Example4

第二步:自己测试一下

PHP常见概念混淆(二)之json_encode和json_decode

由此可见,json_encode会将连续数组存成  []格式  的字符串,将不连续数组存成  {}格式  的字符串.

PHP常见概念混淆(二)之json_encode和json_decode

json_decode则会将  {}  形式的字符串解析为对象,将  []  的字符串解析为数组

为啥会出现这种情况呢? 学无止境,不知道的东西还多着呢。(主要以前也没特别看过json_encode和json_decode函数)。

以下为官方手册上的其他参数配置

PHP常见概念混淆(二)之json_encode和json_decode

PHP常见概念混淆(二)之json_encode和json_decode