做项目时发现一个小现象,使用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″}]