json_encode()函数输出格式

2019PHP高薪工程师学习路线图....>>>

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