PHP JSON互转函数性能介绍
创始人
2024-06-14 01:30:51
0

PHP语言被业内人士评为性能强大的一款计算机语言,许多程序员都采用它来作为网站开发建设的基础语言。鉴于JSON的娇小性和通用性,PHP在5.2的版本之后,默认加上一组针对数据进行的PHP JSON互转函数: #t#

json_encode数据到JSON
json_decode JSON到PHP变量的转换

这两个PHP JSON互转函数在使用Ajax诸如:jquery和Ext框架的时候显得尤为重要,Ext默认接受的数据就是JSON格式,而jquery如果让JSON接入之后就显得更加轻松和简洁。本文将用一个实例讨论一下PHP 的JSON数据函数在jquery中的应用。

Jquery做为一个轻量级的Ajax框架确实显得短小而精悍,比较适合Web编程的前台页面,更加适合和PHP结合。其中jquery中有一个方法是:$.getJSON,这个用来从服务器脚本页面取得JSON格式的数据的。我们按顺序来,首先建立一个名为json.php的PHP脚本,具体程序如下: 

  1.  < ?php   
  2. //创建一个联合数组,这里我们尽量真
    实的模拟了一个从数据库中读取的记录   
  3. $a=array('name'=>'dog','sex'=>
    'f','par'=>array('li','wang','lian'));   
  4. $b=array('name'=>'pig','sex'=>
    'm','par'=>array('liv','wange','liang'));   
  5. $arrayarray = array(0=>$a,1=>$b);   
  6. //将数组转化为一个json数据串   
  7. echo json_encode($array);   
  8. ?> 

前台页面jquery代码:

  1. < script>   
  2. $(document).ready(function(){   
  3. $.getJSON(   
  4. 'json.php',   
  5. function(data){   
  6. var content="";   
  7. for(var i=0;i{//循环读取后台的取得的JSON数据   
  8. content+=data[i].name;   
  9. var par="排挡:";   
  10. for(var j=0;jlength;j++){//循环读取数据中的par集合   
  11. par+=data[i].par[j]+"、";   
  12. }   
  13. content+=par+"
    ";   
  14. }   
  15. alert(content);   
  16. }   
  17. );   
  18. });   
  19. < /script>  

本例在循环读取数据的时候应用了js的基本流程控制for循环方法,在jquery中也提供了一个遍历方法each有兴趣的兄弟们可以自己了解一下这个方法,底层实现也是基于for循环的。
注意:json_encode json_decode两个PHP JSON互转函数是在PHP5.2之后才有的,早于此前的版本使用将会报一个找不到函数的错误!

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...
《非诚勿扰》红人闫凤娇被曝厕所... 【51CTO.com 综合消息360安全专家提醒说,“闫凤娇”、“非诚勿扰”已经被黑客盯上成为了“木...
2012年第四季度互联网状况报... [[71653]]  北京时间4月25日消息,据国外媒体报道,全球知名的云平台公司Akamai Te...