PHP使用json数据格式定义字面量对象的解决办法

内容摘要
这篇文章主要为大家详细介绍了PHP使用json数据格式定义字面量对象的简单示例,具有一定的参考价值,可以用来参考一下。
文章正文

这篇文章主要为大家详细介绍了PHP使用json数据格式定义字面量对象的简单示例,具有一定的参考价值,可以用来参考一下。

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

代码如下:



var o = { 'name' : 'qttc' , 'url' : 'www.idcnote.com' };

alert(o.name);

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

代码如下:



o = { 'name' : 'qttc' , 'url' : 'www.idcnote.com' }

print o['name']

但在PHP中这么定义object:

代码如下:



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

会报错:

代码如下:



[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.idcnote.com"  }';

$a = json_decode($a);

print_r($a);

执行结果:

代码如下:



[root@lee www]# php a.php 

stdClass Object

(

    [name] => qttc

    [url] => www.idcnote.com

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

代码如下:



$a = '{ "name" : "qttc", "url" : "www.idcnote.com" , "arr":["zhangsan","lisi"] }';

$a = json_decode($a);

print_r($a);

执行结果:

代码如下:



[root@lee www]# php a.php 

stdClass Object

(

    [name] => qttc

    [url] => www.idcnote.com

    [arr] => Array

        (

            [0] => zhangsan

            [1] => lisi

        )

 

)

 

注:关于PHP使用json数据格式定义字面量对象的简单示例的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!