PHP中使用json数据格式定义字面量对象的方法

这篇文章主要介绍了PHP中使用json数据格式定义字面量对象的方法,这是一种变通方法,使用json还可以在类中生成数组哦,需要的朋友可以参考下

PHPer都知道PHP是不支持字面量了,至少目前版本都不支持。比如,在JS中可以这样定义object,代码如下:

  1. var o = { 'name' : 'qttc' , 'url' : 'www.adminn.cn' }; 
  2. alert(o.name); 

Python中定义字典,也可以这样定义:

  1. o = { 'name' : 'qttc' , 'url' : 'www.adminn.cn' } 
  2. print o['name'

但在PHP中这么定义object:

$a = { "name" : "qttc", "url" : "www.adminn.cn"  };

会报错:

  1. [root@lee www]# php a.php 
  2. PHP Parse error:  syntax error, unexpected '{' in /data0/htdocs/www/a.php on line 4 

我们可以借用json格式,用引号把包下然后再json_decoude就好。

代码如下:

  1. $a = '{ "name" : "qttc", "url" : "www.adminn.cn"  }'
  2. $a = json_decode($a); 
  3. print_r($a); 

执行结果:

  1. [root@lee www]# php a.php 
  2. stdClass Object 
  3.     [name] => qttc 
  4.     [url] => www.adminn.cn 

由于PHP不支持字面量or匿名函数,所以使用以上定义的方法定义object时不能添加function到object里,还可以这样添加数组元素:

  1. $a = '{ "name" : "qttc", "url" : "www.adminn.cn" , "arr":["zhangsan","lisi"] }'
  2. $a = json_decode($a); 
  3. print_r($a); 

执行结果:

  1. [root@lee www]# php a.php 
  2. stdClass Object 
  3.     [name] => qttc 
  4.     [url] => www.adminn.cn 
  5.     [arr] => Array 
  6.         ( 
  7.             [0] => zhangsan 
  8.             [1] => lisi 
  9.         ) 
  10.  

Adminn.Cn部分文章收集自网络,供站长学习交流使用,如侵犯您的权益,请联系我们删除或修正。站内分享部分源码需付费下载,维持网站开支。20RMB以上源码下载后安装碰到问题,请联系QQ677123帮助。但我们分享源码仅供学习研究使用,如您要直接上线做站,请自负版权等问题,并严格遵守互联网法律法规建站,远离黄赌骗。也不给灰色行业提供任何广告服务。净化网络环境,站长更有责!!!
站长分享圈 » PHP中使用json数据格式定义字面量对象的方法