PHP通过json格式定义字面量对象

PHP 2013-07-01 PHP,json,对象,字面量

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

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

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

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

但在PHP中这么定义object:

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

会报错:

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

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

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

执行结果:

[root@lee www]# php a.php 
stdClass Object
(
    [name] => qttc
    [url] => www.qttc.net
)

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

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

执行结果:

[root@lee www]# php a.php 
stdClass Object
(
    [name] => qttc
    [url] => www.qttc.net
    [arr] => Array
        (
            [0] => zhangsan
            [1] => lisi
        )

)

文字链接:《PHP通过json格式定义字面量对象

文章地址:http://www.qttc.net/201307344.html

除非标注,琼台博客所有博文均为原创,转载请加文字链接注明来源

乳名?小名?昵称?网名?均可

email,放心,我不会给你乱投广告的

想获得回访就把你的站点URL写上(没有留空)

[NOTICE]木要投放广告
[NOTICE]木要骂人,说不该说的话
[NOTICE]自由言论,但要遵纪守法

Comments 0

    Hi,你想第一个做沙发么?