前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PHP中通过json格式定义字面量对象

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

作者头像
沈唁
发布2018-05-24 16:24:57
1.6K0
发布2018-05-24 16:24:57
举报
文章被收录于专栏:沈唁志

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

代码语言:javascript
复制
var o = { 'name' : 'qq52o' , 'url' : 'www.qq52o.me' };
alert(o.name);

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

代码语言:javascript
复制
o = { 'name' : 'qq52o' , 'url' : 'www.qq52o.me' }
print o['name']

但在 PHP 中这么定义 object:

代码语言:javascript
复制
$a = { "name" : "qq52o", "url" : "www.qq52o.me" };

会报错:

代码语言:javascript
复制
[root@qq52o www]# php a.php
PHP Parse error: syntax error, unexpected '{' in /data0/htdocs/www/a.php on line 4

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

代码语言:javascript
复制
$a = '{ "name" : "qq52o", "url" : "www.qq52o.me" }';
$a = json_decode($a);
print_r($a);

执行结果:

代码语言:javascript
复制
[root@qq52o www]# php a.php
stdClass Object
(
[name] => qq52o
[url] => www.qq52o.me
)

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

代码语言:javascript
复制
$a = '{ "name" : "qq52o", "url" : "www.qq52o.me" , "arr":["zhangsan","lisi"] }';
$a = json_decode($a);
print_r($a);

执行结果:

代码语言:javascript
复制
[root@lee www]# php a.php
stdClass Object
(
[name] => qq52o
[url] => www.qq52o.me
[arr] => Array
   (
[0] => zhangsan
[1] => lisi
   )
)

沈唁志|一个PHPer的成长之路! 原创文章采用CC BY-NC-SA 4.0协议进行许可,转载请注明:转载自:PHP中通过json格式定义字面量对象

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-11-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档