PHP中使用json数据格式定义字面量对象的方法


Posted in PHP onAugust 20, 2014

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

var o = { 'name' : 'qttc' , 'url' : '3water.com' };

alert(o.name);

Python中定义字典,也可以这样定义:
o = { 'name' : 'qttc' , 'url' : '3water.com' }

print o['name']

但在PHP中这么定义object:
$a = { "name" : "qttc", "url" : "3water.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" : "3water.com"  }';

$a = json_decode($a);

print_r($a);

执行结果:
[root@lee www]# php a.php 

stdClass Object

(

    [name] => qttc

    [url] => 3water.com

)

由于PHP不支持字面量or匿名函数,所以使用以上定义的方法定义object时不能添加function到object里,还可以这样添加数组元素:
$a = '{ "name" : "qttc", "url" : "3water.com" , "arr":["zhangsan","lisi"] }';

$a = json_decode($a);

print_r($a);

执行结果:
[root@lee www]# php a.php 

stdClass Object

(

    [name] => qttc

    [url] => 3water.com

    [arr] => Array

        (

            [0] => zhangsan

            [1] => lisi

        )

 

)
PHP 相关文章推荐
php扩展ZF――Validate扩展
Jan 10 PHP
php htmlspecialchars加强版
Feb 16 PHP
8个出色的WordPress SEO插件收集
Feb 26 PHP
php去掉字符串的最后一个字符附substr()的用法
Mar 23 PHP
PHP 杂谈《重构-改善既有代码的设计》之五 简化函数调用
May 07 PHP
PHP常用的文件操作函数经典收藏
Apr 02 PHP
php的hash算法介绍
Feb 13 PHP
php smarty truncate UTF8乱码问题解决办法
Jun 13 PHP
php解析json数据实例
Aug 19 PHP
PHP版单点登陆实现方案的实例
Nov 17 PHP
postman的安装与使用方法(模拟Get和Post请求)
Aug 06 PHP
PHP DB 数据库连接类定义与用法示例
Mar 11 PHP
PHP采用自定义函数实现遍历目录下所有文件的方法
Aug 19 #PHP
浅谈php函数serialize()与unserialize()的使用方法
Aug 19 #PHP
PHP将回调函数作用到给定数组单元的方法
Aug 19 #PHP
php实现文件下载代码分享
Aug 19 #PHP
PHP中array_map与array_column之间的关系分析
Aug 19 #PHP
phpword插件导出word文件时中文乱码问题处理方案
Aug 19 #PHP
PHP防止表单重复提交的几种常用方法汇总
Aug 19 #PHP
You might like
如何对PHP程序中的常见漏洞进行攻击(上)
2006/10/09 PHP
Zend Guard一些常见问题解答
2008/09/11 PHP
PHP生成excel时单元格内换行问题的解决方法
2010/08/26 PHP
linux环境apache多端口配置虚拟主机的方法深入介绍
2013/06/09 PHP
Codeigniter中禁止A Database Error Occurred错误提示的方法
2014/06/12 PHP
PHP中set_include_path()函数相关用法分析
2016/07/18 PHP
PHP带节点操作的无限分类实现方法详解
2016/11/09 PHP
php统计数组不同元素的个数的实例方法
2019/09/26 PHP
JS图片无缝、平滑滚动代码
2014/03/11 Javascript
JavaScript面对国际化编程时的一些建议
2015/06/24 Javascript
jquery实现模拟百分比进度条渐变效果代码
2015/10/29 Javascript
更靠谱的H5横竖屏检测方法(js代码)
2016/09/13 Javascript
详谈构造函数加括号与不加括号的区别
2017/10/26 Javascript
jQuery-ui插件sortable实现自由拖动排序
2018/12/01 jQuery
微信小程序日历组件使用方法详解
2018/12/29 Javascript
浅谈vue加载优化策略
2019/03/19 Javascript
vue 中固定导航栏的实例代码
2019/11/01 Javascript
[06:43]2018DOTA2国际邀请赛寻真——VGJ.Thunder
2018/08/11 DOTA
在Linux系统上部署Apache+Python+Django+MySQL环境
2015/12/24 Python
Python实现excel转sqlite的方法
2017/07/17 Python
python实现定时提取实时日志程序
2018/06/22 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
2019/11/15 Python
Python 发送邮件方法总结
2020/08/10 Python
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
北大青鸟学生求职信
2013/09/24 职场文书
初中校园广播稿
2014/02/02 职场文书
《奇妙的国际互联网》 教学反思
2014/02/25 职场文书
《鹬蚌相争》教学反思
2014/04/22 职场文书
开工典礼策划方案
2014/05/23 职场文书
小学生环保标语
2014/06/13 职场文书
十佳少年事迹材料
2014/12/25 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
详解MySQL 联合查询优化机制
2021/05/10 MySQL
springboot集成springCloud中gateway时启动报错的解决
2021/07/16 Java/Android
python编程项目中线上问题排查与解决
2021/11/01 Python
使用Ajax实现进度条的绘制
2022/04/07 Javascript