由于json是那么的重要,因此PHP自从5.2就增加了对JSON的支持,主要包括两个函数:json_encode和json_decode。众所周知,json是一种数据的存储格式,我的博文里写过json的,在我的Javascript教程中,不明白的读者可以去搜一下。
比如我们新建一个xin.json文件,存储数据如下:
[{"name":"辛星","age":23},{"name":"小倩","age":20}]我们可以写一个api.php文件,解析该json文件如下:
<?php $content = file_get_contents("xin.json");$obj = json_decode($content);print_r($obj);我们会发现它的输出如下:
Array ( [0] => stdClass Object ( [name] => 辛星 [age] => 23 ) [1] => stdClass Object ( [name] => 小倩 [age] => 20 ) )很好理解,和Javascript很相似,这里的stdClass是基础类,不懂的童鞋可以去搜索下,这里按照我们的格式去输出这个json数据,其实我们使用它们就和我们在Javascript中使用是差不多的,那么我们下面将采用分开输出的样式:
<?php $content = file_get_contents("xin.json");$obj = json_decode($content);for($i = 0;$i <count($obj);$i++){ echo "名字是:".$obj[$i]->name." 年龄是:".$obj[$i]->age."<br>";}
名字是:辛星 年龄是:23名字是:小倩 年龄是:20而json_decode函数可以接受第二个参数的,如果是true的话,那么我们的json数据就会被转化为数组而不是对象了,其实对象和数组在很多时候是很像的,而且在PHP中,对象也不会调用方法。