在web开发中,我们经常需要将数据以json格式返回给前端,以方便javascript等客户端脚本访问。而在php中,我们可以使用json_encode()函数将php数组转化为json字符串。
下面是一个例子,我们定义了一个名为$student的php数组,之后使用json_encode()函数将它转化为json字符串并返回:
$student = array( 'name' => 'sam', 'age' => 18, 'school' => 'abc high school');$json_str = json_encode($student);echo $json_str;
此时输出的$json_str就是一个json格式的字符串:
{ "name":"sam", "age":18, "school":"abc high school"}
可以看到,json字符串采用键值对的形式表示数据,并使用大括号表示整个数据对象。
在数组比较复杂的情况下,我们还可以使用json_encode()函数中的第二个参数$options,它是一个控制选项,可以指定我们要将php数组转化为json字符串的方式。下面是$options的一些常用选项:
json_force_object:将php数组转化为纯对象(object)而不是数组。json_hex_tag:将<、>、&、'、等字符转化为它们对应的html实体。json_pretty_print:将生成的json字符串格式化输出,以方便阅读。下面是一个例子,我们定义了一个名为$class的php数组,它包含多个学生的信息。我们使用$options选项将php数组强制转化为对象,并使用json_pretty_print选项将输出格式化:
$class = array( array('name' => 'john', 'age' => 17, 'school' => 'abc high school'), array('name' => 'mike', 'age' => 18, 'school' => 'def high school'), array('name' => 'lucy', 'age' => 16, 'school' => 'ghi high school'));$json_str = json_encode($class, json_force_object | json_pretty_print);echo $json_str;
输出的json字符串如下:
{ "0": { "name": "john", "age": 17, "school": "abc high school" }, "1": { "name": "mike", "age": 18, "school": "def high school" }, "2": { "name": "lucy", "age": 16, "school": "ghi high school" }}
总之,在php中将数组转化为json格式十分简单,只需要调用json_encode()函数即可。同时,我们还可以通过$options选项来控制输出的json字符串的格式。
以上就是将数组转化为json格式php的详细内容。