PHP中使用json数据格式定义字面量对象的方法
程序员文章站
2022-07-02 14:09:42
phper都知道php是不支持字面量了,至少目前版本都不支持。比如,在js中可以这样定义object
复制代码 代码如下:
var o = { 'name' : 'qt...
phper都知道php是不支持字面量了,至少目前版本都不支持。比如,在js中可以这样定义object
复制代码 代码如下:
var o = { 'name' : 'qttc' , 'url' : 'www.jb51.net' };
alert(o.name);
python中定义字典,也可以这样定义:
复制代码 代码如下:
o = { 'name' : 'qttc' , 'url' : 'www.jb51.net' }
print o['name']
但在php中这么定义object:
复制代码 代码如下:
$a = { "name" : "qttc", "url" : "www.jb51.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.jb51.net" }';
$a = json_decode($a);
print_r($a);
执行结果:
复制代码 代码如下:
[root@lee www]# php a.php
stdclass object
(
[name] => qttc
[url] => www.jb51.net
)
由于php不支持字面量or匿名函数,所以使用以上定义的方法定义object时不能添加function到object里,还可以这样添加数组元素:
复制代码 代码如下:
$a = '{ "name" : "qttc", "url" : "www.jb51.net" , "arr":["zhangsan","lisi"] }';
$a = json_decode($a);
print_r($a);
执行结果:
复制代码 代码如下:
[root@lee www]# php a.php
stdclass object
(
[name] => qttc
[url] => www.jb51.net
[arr] => array
(
[0] => zhangsan
[1] => lisi
)
)
上一篇: 我用Python远程探查室友的网页浏览记录,他不愧是成年人!
下一篇: html和css入门 (一)