JSON is widely used in data transmission due to its high-performance transmission and analysis. This article mainly introduces relevant information on in-depth analysis of php json format control. I hope to be helpful.
Regarding the issue of json, novice friends have come to me one after another to ask, for example, why I output {"1":"item1","2":"item2","3":"item3 "} instead of ["item1","item2","item3"].
php array and js array
I use the above syntax of php 5.4 here.
There are associative arrays and index arrays in php, for example:
##
<?php // 索引数组 $arr = ['item1', 'item2', 'item3']; // 关联数组 $arr = [ 'name' => '张三', 'age' => '22', ];
php Array Output Format Control
<?php $arr = [ // 不是 0 开始,会输出对象 1 => 'item1', 2 => 'item2', 3 => 'item3', ]; echo "输出对象: ", json_encode($arr), "\n"; // 输出对象: {"1":"item1","2":"item2","3":"item3"} $arr = [ // 连续索引,输出数组 0 => 'item1', 1 => 'item2', 2 => 'item3', ]; echo "输出数组: ", json_encode($arr), "\n"; // 输出数组: ["item1","item2","item3"] $arr = [ // 连续索引,输出数组 'item1', 'item2', 'item3', ]; echo "输出数组: ", json_encode($arr), "\n"; // 输出数组: ["item1","item2","item3"] $arr = [ // 索引不连续,输出对象 0 => 'item1', 1 => 'item2', 2 => 'item3', 5 => 'item5', ]; echo "输出对象: ", json_encode($arr), "\n"; // 输出对象: {"0":"item1","1":"item2","2":"item3","5":"item5"} $arr = [ // 包含关联索引,一定输出对象 0 => 'item1', 1 => 'item2', 2 => 'item3', 'other' => '其他字段' ]; echo "输出对象: ", json_encode($arr), "\n"; // 输出对象: {"0":"item1","1":"item2","2":"item3","other":"\u5176\u4ed6\u5b57\u6bb5"} // 关联数组 + 索引数组 实例 $arr = [ // 关联数组 'other' => '其他字段', 'count' => 3, // 数组个数 'list' => [ // 索引数组 'item1', 'item2', 'item3', ], ]; echo "对象+数组: ", json_encode($arr), "\n"; // 对象+数组: {"other":"\u5176\u4ed6\u5b57\u6bb5","count":3,"list":["item1","item2","item3"]}
$arr = $User->where($where)->find(); // 读取数据 $list = []; foreach($arr as $key => $val) { // 遍历数组 $list[$key] = [ 'name' => $val['name'], 'age' => $val['age'], ]; } $list['count'] = count($arr); // 其他属性 echo json_encode($list); // 输出 json // {"1":{"name":"zhangsan","age":22},"2":{"name":"lisi","age":25},"count":2}
$arr = $User->where($where)->find(); // 读取数据 $list = []; foreach($arr as $key => $val) { // 遍历数组 $list['list'][] = [ // 修改这里 'name' => $val['name'], 'age' => $val['age'], ]; } $list['count'] = count($arr); // 其他属性 echo json_encode($list); // 输出 json // {"list":[{"name":"zhangsan","age":22},{"name":"lisi","age":25}],"count":2}
PHP solves the JSON Chinese display problem
php converts the index array into json
Introduction to usage examples of json_encode in php
The above is the detailed content of Detailed explanation of json format control in php. For more information, please follow other related articles on the PHP Chinese website!