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动态分页函数,PHP开发分页必备啦
Nov 07 PHP
PHP中将网页导出为Word文档的代码
May 25 PHP
ThinkPHP CURD方法之field方法详解
Jun 18 PHP
php实现的双向队列类实例
Sep 24 PHP
php使用CURL伪造IP和来源实例详解
Jan 15 PHP
php计算整个mysql数据库大小的方法
Jun 19 PHP
php中get_magic_quotes_gpc()函数说明
Feb 06 PHP
PHP 二维array转换json的实例讲解
Aug 21 PHP
ThinkPHP框架整合微信支付之Native 扫码支付模式一图文详解
Apr 09 PHP
php实现简单的守护进程创建、开启与关闭操作
Aug 13 PHP
解决tp5在nginx下修改配置访问的问题
Oct 16 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下通过curl抓取yahoo boss 搜索结果的实现代码
2011/06/10 PHP
php中文繁体和简体相互转换的方法
2015/03/21 PHP
PHP汉字转换拼音的函数代码
2015/12/30 PHP
JS之小练习代码
2008/10/12 Javascript
一步一步制作jquery插件Tabs实现过程
2010/07/06 Javascript
一个报数游戏js版(约瑟夫环问题)
2010/08/05 Javascript
window.open的页面如何刷新(父页面)上层页面
2012/12/28 Javascript
JS隐藏参数post传值实例
2013/04/18 Javascript
scrollWidth,clientWidth,offsetWidth的区别
2015/01/13 Javascript
js微信扫描二维码登录网站技术原理
2016/12/01 Javascript
原生JS京东轮播图代码
2017/03/22 Javascript
前端自动化开发之Node.js的环境搭建教程
2017/04/01 Javascript
JavaScript制作简单的框选图表
2017/05/15 Javascript
extjs简介_动力节点Java学院整理
2017/07/17 Javascript
基于three.js编写的一个项目类示例代码
2018/01/05 Javascript
vue实现微信分享朋友圈,发送朋友的示例讲解
2018/02/10 Javascript
React-router4路由监听的实现
2018/08/07 Javascript
对Vue beforeRouteEnter 的next执行时机详解
2018/08/25 Javascript
vue实现一拉到底的滑动验证
2019/07/25 Javascript
JS中数组实现代码(倒序遍历数组,数组连接字符串)
2019/12/29 Javascript
win系统下为Python3.5安装flask-mongoengine 库
2016/12/20 Python
django使用图片延时加载引起后台404错误
2017/04/18 Python
Python自定义一个异常类的方法
2019/06/27 Python
使用pickle存储数据dump 和 load实例讲解
2019/12/30 Python
win10安装tensorflow-gpu1.8.0详细完整步骤
2020/01/20 Python
光信息科学与技术专业职业生涯规划
2014/03/13 职场文书
客户答谢会活动方案
2014/08/31 职场文书
个人师德师风自我剖析材料
2014/09/29 职场文书
班子个人四风问题整改措施
2014/10/04 职场文书
2015年小班保育员工作总结
2015/05/27 职场文书
居住证明范文
2015/06/17 职场文书
关于开学的感想
2015/08/10 职场文书
学习十八大的感悟
2015/08/11 职场文书
环保建议书范文
2015/09/14 职场文书
vue引入Excel表格插件的方法
2021/04/28 Vue.js
js前端设计模式优化50%表单校验代码示例
2022/06/21 Javascript