json变量声明

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

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

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

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

1 o = { 'name' : 'qttc' , 'url' : 'www.jb51.net' }
2 print o['name']

但在PHP中这么定义object:

1 $a = { "name" : "qttc", "url" : "www.jb51.net"  };

会报错:

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就好。声明jason变量的方法!

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

执行结果:

1 [root@lee www]# php a.php 
2 stdClass Object
3 (
4     [name] => qttc
5     [url] => www.jb51.net
6 )

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

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

执行结果:

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

 

posted @ 2016-08-02 14:10  DespicableMe  阅读(5944)  评论(0编辑  收藏  举报