跟着辛星解读PHP中json的使用

由于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中,对象也不会调用方法。

既然我们队json_decode弄清楚了,那么json_encode就靠读者动动手了,很简单啦。。。。

时间: 2024-11-12 21:11:32

跟着辛星解读PHP中json的使用的相关文章

辛星解读mysql中的MyISAM引擎

很多以前的教科书上都是写的MyISAM是mysql的默认存储引擎,其实自从mysql5.5开始,默认存储引擎就已经改变成为InnoDB了,由于InnoDB在很多方面有着不可替代的功能,因此,很多人喜欢研究InnoDB也在情理之中,我也很喜欢InnoDB.但是呢,对于MyISAM,就跟着辛星辛博士来认识一下吧. 第一点就是MyISAM不支持事务和外键,也正是基于这一点,很多人不喜欢MyISAM.但是MyISAM并不着急改变自己,因为这个引擎的重心是性能,而不是功能,不可否认,MyISAM的性能是非

辛星解读mysql中的存储过程的优劣

我们常用的SQL语句在执行的时候需要首先进行编译,然后执行,而存储过程则是一组为了完成特定功能的SQL语句集,它直接编译好了存储在数据库中,用户通过指定存储过程的名字即可调用该存储过程. 存储过程的优点主要包括以下几点: 第一点,性能提高.这是相对于不适用存储过程来说的,因为存储过程在创建的时候就编译好了,而后每次调用都不会再次编译,这相对于传统的SQL语句中每次调用都需要编译的情况来说,性能提高了何止一点两点. 第二点,重用性强.存储过程使用名字即可使用,也就是传说中的"一次编写,随便调用&q

辛星解读之php中的重点函数第一节之数组函数

这里我已经写好它的pdf版本了,比本博客更加适合阅读.首先说一下它在百度网盘的下载地址把:百度网盘下载 ,如果左边连接跪了,可以在浏览器中输入:http://pan.baidu.com/s/1qW5AYzM 来下载.然后说一下它在csdn的下载地址,是免积分的奥,下载地址:csdn资源下载处 ,如果连接不起作用,可以在浏览器输入:http://download.csdn.net/detail/xinguimeng/7697309  来手动下载. 好,我们知道php中函数还是很多的,正是这些函数为

2014年辛星解读Javascript之DOM快速入门

在Javascript的知识中,有一个所谓的DOM,即文档对象模型,我们可以通过它来访问HTML文档的元素,当网页被加载的时候,浏览器会去创建DOM,有了这个DOM,我们可以使用Javascript去改变页面中HTML元素和属性,改变CSS样式,能够对页面中的事件作出响应. 首先就是查找一个HTML元素,我们可以通过三种方式来做到,即通过id.标签名和类名,通过id是使用getElementById方法,它是doucument的一个方法,通过标签名则可以使用getElementsByTagNam

2014年辛星解读Javascript之用DOM动态操纵HTML元素

关于DOM,我们了解了可以用DOM操纵HTML的一些属性和样式,还可以为HTML元素绑定事件等等,那么接下来,我们将涉及到用DOM来动态的创建.删除HTML等一些操作,我的核心思路还是重实战,因此,代码示例是肯定少不了的. 不过在使用DOM动态操纵HTML元素之前,我们还是先了解一下DOM树,下面是我从网上找的一个DOM树的图片,它的截图如下: 如果大家学习过"树"这种数据结构,就会很好理解,一个父节点可以包含N个子节点,这些子节点可能是div.p等标签,也可以是属性,还可以是中间的文

2014年辛星解读CSS第八节 使用背景图片

这应该是系统CSS的教程的最后一节了,为什么呢,因为到这一节,我感觉基础知识就已经讲完了,接下来的就是无穷的实战,而实战是很难用知识去讲出来的,靠的是积累,拼的是经验,这些都不是讲出来的. 好,我们下面来说一下用CSS添加背景图片的方式把,它在background属性中指定,可以用url("图片路径")的方式来指定背景图片,如果是repeat,则图片在横向和纵向上平铺,如果是no-repeat,则背景图像不会平铺,只显示一次,如果是repeat-x,那么就在水平方向平铺,如果是repe

跟着辛星一起用CSS美化商品列表

说实话,最近对CSS的关注还是蛮多的,不为别的,只是因为自己喜欢,感觉写CSS就像画家绘画一样,使用热情和激情去探索,没有了那份功利心,反而感觉是一种享受,特别有成就感,好啦,今天就分享一期自己用CSS美化商品列表的步骤把,不喜勿喷奥,有建议请留言. 首先看一下做好之后的效果图把: 如果读者特别不喜欢这个样式,可以点击右上角的关闭,省的自己看了心烦意乱,好,我们首先新建一个HTML文件,内容书写如下: <html> <head> <title>CSS新闻列表制作<

2014年辛星解读Javascript之DOM之冒泡和捕获

上篇博客提到了Javascript事件绑定函数的三个參数.第一个是一个event.第二个是一个function.第三个是一个布尔变量.它用于指定事件传递的顺序,分为冒泡和捕获两种方式,接下来我们将揭开它的神奇面纱,彻底的解读它. 首先看例如以下代码: <html> <body> <div id = "demo"><p id = "tag">辛星</p></demo> <script typ

2014年辛星解读Javascript之DOM之事件及其绑定

我们通过DOM的事件能够对HTML的事件作出反应.就像我们用其它编程语言写GUI一样,那么HTML包含哪些事件呢?以下是几个常见的样例,比方网页已经完毕记载,图像完毕载入,鼠标移动到元素上方.输入文字被改变.表单提交.用户点击按键等等,还是蛮多的. 以下我们用实例来演示一下,看以下的HTML代码: <html> <p id = "tag" onclick="this.innerHTML ='小倩' ">辛星</p> </ht