做项目时发现一个小现象,使用json_encode()函数将array()数组转化成json,输出的数据格式有时候是“{}”包围的,有时候是“[]”包围的。下面做几个测试:
- //对象
- class JsonTest{
- public $id = 1;
- public $name = 'terry';
- public $sex = '男';
- }
- $obj = new JsonTest;
- echo json_encode($obj);
输出结果:{“id”:1,”name”:”terry”,”sex”:”\u7537″}
- //数字索引数组
- $arr1 = array(1, 'terry', '男');
- echo json_encode($arr1);
输出结果:[1,”terry”,”\u7537″]
- //关联数组
- $arr2 = array("id" => 1, "name" => 'terry', "sex" => '男');
- echo json_encode($arr2);
输出结果:{“id”:1,”name”:”terry”,”sex”:”\u7537″}
- //多维索引数组
- $arr3 = array(array(1, 'terry', '男'), array(2, 'surfin', '男'));
- echo json_encode($arr3);
输出结果:[[1,”terry”,”\u7537″],[2,”surfin”,”\u7537″]]
- //关联索引数组
- $arr4 = array(array("id"=>1, "name"=>'terry', "sex"=>'男'), array("id"=>2, "name"=>'surfin', "sex"=>'男'));
- echo json_encode($arr4);
输出结果:[{“id”:1,”name”:”terry”,”sex”:”\u7537″},{“id”:2,”name”:”surfin”,”sex”:”\u7537″}]
来源: http://www.phpxs.com/code/1004014/