仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1741|回复: 20
打印 上一主题 下一主题

[学习教程] PHP网站制作之PHP JSON格局数据交互实例详解

[复制链接]
小女巫 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-3 23:35:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
即使你理解不了PHP,但是也必须先跟它混个脸熟,看,一遍遍的看,看的同时一边琢磨,一边按照它所教的打代码,即使你搞不清楚那些代码到底是干嘛的,但是起码你应该找找感觉。     此前我写了很多在PHP网站开辟中使用XML停止数据交互的实例,这两天经由过程PHP解析JSON并停止交互的实例进修和懂得了JSON在PHP中的使用,感到十分便利,在PHP中解析JSON次要用到json_encode和json_decode两个PHP JSON函数,比PHP解析XML便利良多,上面具体引见下PHP JSON的利用。
  JSON基本引见
  JSON(JavaScript Object Notation) 是一种轻量级的数据互换格局。
  JSON次要有两种布局:
  “称号/值”对的纠合,在PHP中可以了解为联系关系数组 (associative array)。
  值的有序列表(An ordered list of values)。在PHP中可以了解为通俗数组(array)。
  对象是一个无序的“‘称号/值’对”纠合。一个对象以“{”(左括号)入手下手,“}”(右括号)停止。每一个“称号”后跟一个“:”(冒号);“‘称号/值’ 对”之间利用“,”(逗号)分隔。
  数组是值(value)的有序纠合。一个数组以“[”(左中括号)入手下手,“]”(右中括号)停止。值之间利用“,”(逗号)分隔。值(value)可所以双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或数组(array)。这些布局可以嵌套。
  我今朝对JSON的了解更倾向于数组,相似于PHP中的联系关系数组,你可以将PHP数组转换为JSON格局。
  更多JSON的引见请参考JSON官网和IBM关于JSON的引见
  PHP JSON解析实例
  PHP5.2入手下手已将JSON作为PHP扩大的一局部,所以其实不需求别的装置JSON。别的为了包管上面的PHP JSON实例不呈现中文乱码,请包管你的编码格局为UTF8。
  JSON是Javascript的一局部,起首咱们看下Javascript中若何界说JSON
1
2
3
4
5
6
7
8
var json_obj = {'WebName':'PHP网站开辟教程网'};
alert(json_obj.WebName);

var json_arr =[{'WebName':'PHP网站开辟教程网','WebSite':'http://www.leapsoul.cn'},{'ArtTitle':'PHP JSON实例解说'}]
alert(json_arr[1].ArtTitle);

var php_json = [['PHP网站开辟教程网','http://www.leapsoul.cn'],['文章题目','PHP JSON实例解说']];
alert(php_json[1][0]); 在这段JSON实例代码中我构建了一切的JSON模式,
第1行,界说了JSON以对象模式存在
第4行,界说了JSON以数组模式存在,嵌套了JSON对象,所以有点相似于PHP的联系关系数组,其实依然是对象。
第7行,定了JSON以通俗数组模式存在。
注重:因为Javascript是辨别巨细写的,所以会见JSON联系关系数组对象时注重key的巨细写成绩。
  PHP与JSON格局数据交互时,第一步需求将PHP数组转换为JSON格局的数据,可以使用PHP5自带的json_encode函数,当PHP解析传递过去的JSON格局数据时需求利用json_decode函数停止解析转换为PHP数组,PHP转换并解析JSON数据的实例代码以下
1
2
3
4
5
6
7
8
9
10
11
<?php
$json_arr = array&#40;'WebName'=>'PHP网站开辟教程网','WebSite'=>'http://www.leapsoul.cn'&#41;;

$php_json = json_encode&#40;$json_arr&#41;;

echo $php_json;

$php_json = json_decode&#40;$php_json&#41;;

print_r&#40;$php_json&#41;;
?> 申明:这里经由过程PHP界说了联系关系数组,然后经由过程json_encode转换为JSON格局的数据,经由过程echo语句可以看到转换后的JSON对象,经由过程PHP JSON解析函数json_decode可以将JSON格局的数据解析为PHP的联系关系数组。假如编码不准确,JSON中文会呈现乱码。假如你利用Editplus调试PHP,请注重保留文件时编码将ANSI改成UTF8。
最初咱们来看下完全的PHP JSON交互实例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
$json_arr = array&#40;'WebName'=>'PHP网站开辟教程网','WebSite'=>'http://www.leapsoul.cn'&#41;;

$php_json = json_encode&#40;$json_arr&#41;;
?>

<script type="text/javascript">

var php_json = <?=$php_json?>;

</script>

<script type="text/javascript">

function php_json_dis(php_json)
{
alert(php_json.WebName);
alert(php_json.WebSite);
}

php_json_dis(php_json);

</script>   至此,PHP经由过程json_encode和json_decode函数对JSON格局数据停止转换息争析的实例就引见完了。
  :PHP网站开辟教程-leapsoul.cn版权一切,转载时请以链接模式注明原始出处及本声明,感谢。
刚开始写页面程序,调试完书中的例子。然后就可以尝试编写留言板了,
若相依 该用户已被删除
沙发
发表于 2015-2-4 03:14:06 | 只看该作者
你很难利用原理去编写自己的代码。对于php来说,系统的学习我认为还是很重要的,当你有一定理解后,你可你针对某种效果研究,我想那时你不会只是复制代码的水平了。
分手快乐 该用户已被删除
板凳
发表于 2015-2-9 13:38:24 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
地板
发表于 2015-2-13 23:09:16 | 只看该作者
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
愤怒的大鸟 该用户已被删除
5#
发表于 2015-3-1 23:50:00 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
活着的死人 该用户已被删除
6#
发表于 2015-3-11 01:04:55 | 只看该作者
在学习的过程中不能怕麻烦,不能有懒惰的思想。学习php首先应该搭建一个lamp环境或者是wamp环境。这是学习php开发的根本。虽然网络上有很多集成的环境,安装很方便,使用起来也很稳定、
兰色精灵 该用户已被删除
7#
发表于 2015-3-11 10:38:05 | 只看该作者
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
乐观 该用户已被删除
8#
发表于 2015-3-16 11:49:26 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
飘飘悠悠 该用户已被删除
9#
发表于 2015-3-18 03:24:36 | 只看该作者
其实也不算什么什么心得,在各位大侠算是小巫见大巫了吧,望大家不要见笑,若其中有错误的地方请各位大虾斧正。
只想知道 该用户已被删除
10#
发表于 2015-3-25 10:34:44 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
透明 该用户已被删除
11#
发表于 2015-3-27 18:31:35 | 只看该作者
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
小女巫 该用户已被删除
12#
 楼主| 发表于 2015-4-2 20:42:56 | 只看该作者
Apache不是非得用80或者8080端口的,我刚开始安得时候就是80端口老占用,就用了个 81端口,结果照常,就是输localhost的时候,应该输入为 localhost:81
变相怪杰 该用户已被删除
13#
发表于 2015-4-6 04:48:13 | 只看该作者
写的比较杂,因为我也是个新手,不当至于大家多多指正。
蒙在股里 该用户已被删除
14#
发表于 2015-4-6 13:21:40 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
再现理想 该用户已被删除
15#
发表于 2015-4-12 21:21:30 | 只看该作者
说点我烦的低级错误吧,曾经有次插入mysql的时间 弄了300年结果老报错,其实mysql的时间是有限制的,大概是到203X年  具体的记不清啦,囧。
海妖 该用户已被删除
16#
发表于 2015-4-21 17:17:36 | 只看该作者
为了以后维护的方便最好是代码上都加上注释,“予人方便,自己方便”。此外开发文档什么的最好都弄齐全。我觉得这是程序员必备的素质。虽然会消耗点很多的时间。但是确实是非常有必要的。
简单生活 该用户已被删除
17#
发表于 2015-4-26 07:15:38 | 只看该作者
开发工具也会慢慢的更专业,每个公司的可能不一样,但是zend studio是个大伙都会用的。
老尸 该用户已被删除
18#
发表于 2015-5-1 15:16:20 | 只看该作者
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
冷月葬花魂 该用户已被删除
19#
发表于 2015-6-15 21:25:06 | 只看该作者
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
金色的骷髅 该用户已被删除
20#
发表于 2015-6-29 00:02:19 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-4-30 11:19

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表