深入理解PHPJSON数组和对象
在PHP后端和客户机之间的数据交互过程中,有时JSON数据是不规则的,一段时间后它是一个数组,然后是一个对象,这使客户端开发人员感到崩溃。因此,它是最重要的环节了解PHP的json_encode功能第一原则。
PHP数组是一种通用数据结构。与许多其他语言不同,许多约束数据类型可以定义为描述结构,因此PHP程序员很难告诉客户他们返回的结构数据。
很清楚,JSON是通过PHP的数组数据编码的,但输出值有时是数组,有时是对象。
< PHP
*
如果您想用JSON格式生成数组格式(vector)而不是对象格式(map),那么数据的下标是:
它必须是一个数字索引,
它必须从0开始。
要从小变大,不要中间跳,要按顺序改变顺序。
* /
符合数组
向量= {
12, 23, 18
};
回声json_encode(合矢量);
符合数组
$ Vector2 = {
0 = 12, 1 = 23, 2 = 18
};
回声json_encode($载体);
不符合数组下标跳转
$ map = {
0 = 12, 1 = 23, 2 = 18, 4 = 20
};
回声json_encode(合图);
不符合数组下标的顺序。
$ map = {
0 = 12, 1 = 23, 3 = 18, 2 = 20
};
回声json_encode(合图);
没有下标数组,从0开始
map_1美元= {
1 = 2 = 'asdfa '111 ','
};
回声json_encode($ map_1);
/典型对象格式
map_2美元= { ABC= 1,'de= > 2,带有= null };
回声json_encode($ map_2);
*请注意上面的变量命名,对应于黑客的概念,向量和map是两种类型的数据集类型。
*如果需要强制将索引数组放入对象
* json_encode(((对象)$);
*或
* json_encode($,json_force_object);
*
* /
解决方法是什么
通过PHP来封装矢量和地图的两种数据结构。在构造JSON输出结构时,对这两种类型进行封装和转换,以保证结构的确定性。
以上是PHP JSON数组和对象,经Xiaobi介绍,我们希望对你有帮助。如果你有任何问题,请给我留言,萧边会及时给您回复。谢谢您支持网站。