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源代码
Oct 09 PHP
php at(@)符号的用法简介
Jul 11 PHP
PHP读取ACCESS数据到MYSQL的代码
May 11 PHP
Destoon模板制作简明教程
Jun 20 PHP
php实现的常见排序算法汇总
Sep 08 PHP
php把数组值转换成键的方法
Jul 13 PHP
php HTML无刷新提交表单
Apr 05 PHP
PHP实现页面静态化的超简单方法
Sep 06 PHP
CI框架(ajax分页,全选,反选,不选,批量删除)完整代码详解
Nov 01 PHP
实例讲解PHP页面静态化
Feb 05 PHP
PHP获取当前系统时间的方法小结
Oct 03 PHP
PHP7 参数处理机制修改
Mar 09 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 一个随机字符串生成代码
2010/05/26 PHP
fgetcvs在linux的问题
2012/01/15 PHP
PHP实现的多彩标签效果代码分享
2014/08/21 PHP
php格式文件打开的四种方法
2018/02/24 PHP
解决thinkPHP 5 nginx 部署时,只跳转首页的问题
2019/10/16 PHP
js实现翻页后保持checkbox选中状态的实现方法
2012/11/03 Javascript
jquery 如何动态添加、删除class样式方法介绍
2012/11/07 Javascript
js中方法重载如何实现?以及函数的参数问题
2013/08/01 Javascript
JavaScript限定图片显示大小的方法
2015/03/11 Javascript
JS扩展方法实例分析
2015/04/15 Javascript
移动端使用localStorage缓存Js和css文的方法(web开发)
2016/09/20 Javascript
基于JavaScript定位当前的地理位置
2017/04/11 Javascript
Angular网络请求的封装方法
2018/05/22 Javascript
解决vue项目使用font-awesome,build后路径的问题
2018/09/01 Javascript
vue-router传递参数的几种方式实例详解
2018/11/13 Javascript
微信小程序利用swiper+css实现购物车商品删除功能
2019/03/06 Javascript
vue实现微信分享链接添加动态参数的方法
2019/04/29 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
2019/05/10 Javascript
如何进行微信公众号开发的本地调试的方法
2019/06/16 Javascript
[02:16]DOTA2超级联赛专访Burning 逆袭需要抓住机会
2013/06/24 DOTA
关于Python元祖,列表,字典,集合的比较
2017/01/06 Python
Python正则表达式常用函数总结
2017/06/24 Python
python装饰器-限制函数调用次数的方法(10s调用一次)
2018/04/21 Python
Python函数中参数是传递值还是引用详解
2019/07/02 Python
如何使用python3获取当前路径及os.path.dirname的使用
2019/12/13 Python
selenium WebDriverWait类等待机制的实现
2020/03/18 Python
Python使用plt.boxplot() 参数绘制箱线图
2020/06/04 Python
python如何利用Mitmproxy抓包
2020/10/10 Python
CSS3 实现童年的纸飞机
2019/05/05 HTML / CSS
css3中less实现文字长阴影(long shadow)
2020/04/24 HTML / CSS
html5构建触屏网站之touch事件介绍
2013/01/07 HTML / CSS
html5将图片转换成base64的实例代码
2016/09/21 HTML / CSS
泰国时尚电商:POMELO Fashion
2020/03/11 全球购物
接口的多继承会带来哪些问题
2015/08/17 面试题
合伙经营协议书范本
2014/09/13 职场文书
Nginx的gzip相关介绍
2022/05/11 Servers