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 heredoc和phpwind的模板技术使用方法小结
Mar 28 PHP
PHP操作数组的一些函数整理介绍
Jul 17 PHP
php 文件上传实例代码
Apr 19 PHP
谈谈关于php的优点与缺点
Apr 11 PHP
php不允许用户提交空表单(php空值判断)
Nov 12 PHP
使用PHP生成二维码的两种方法(带logo图像)
Mar 14 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
Jun 12 PHP
PHP程序员必须清楚的问题汇总
Dec 18 PHP
PHP技术开发微信公众平台
Jul 22 PHP
php变量与数组相互转换的方法(extract与compact)
Dec 02 PHP
PHP异常处理定义与使用方法分析
Jul 25 PHP
PHP常用正则表达式精选(推荐)
May 28 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
DC动画电影《黑暗正义联盟》曝预告 5月5日上线数字平台
2020/04/09 欧美动漫
二十行语句实现从Excel到mysql的转化
2006/10/09 PHP
php递归创建和删除文件夹的代码小结
2012/04/13 PHP
PHP使用PDO调用mssql存储过程的方法示例
2017/10/07 PHP
PHP实现 APP端微信支付功能
2018/06/22 PHP
JS类库Bindows1.3中的内存释放方式分析
2007/03/08 Javascript
javascript 数组排序函数sort和reverse使用介绍
2013/11/21 Javascript
JavaScript中的Primitive对象封装介绍
2014/12/31 Javascript
详解jQuery中的元素的属性和相关操作
2015/08/14 Javascript
JavaScript的History API使搜索引擎抓取AJAX内容
2015/12/07 Javascript
javascript实现图片轮播效果
2016/01/20 Javascript
如何使用Vuex+Vue.js构建单页应用
2016/10/27 Javascript
实现一个简单的vue无限加载指令方法
2017/01/10 Javascript
jQuery通过改变input的type属性实现密码显示隐藏切换功能
2017/02/08 Javascript
Javascript实现跨域后台设置拦截的方法详解
2017/08/04 Javascript
angular+ionic返回上一页并刷新页面
2017/08/08 Javascript
vue.js路由跳转详解
2017/08/28 Javascript
简单明了区分escape、encodeURI和encodeURIComponent
2018/05/26 Javascript
详解vue2.6插槽更新v-slot用法总结
2019/03/09 Javascript
在layer弹层layer.prompt中,修改placeholder的实现方法
2019/09/27 Javascript
JS实现字体背景跑马灯
2020/01/06 Javascript
JS中作用域以及变量范围分析
2020/07/18 Javascript
解决vue-router路由拦截造成死循环问题
2020/08/05 Javascript
从零开始用webpack构建一个vue3.0项目工程的实现
2020/09/24 Javascript
Python数据类型详解(二)列表
2016/05/08 Python
Python之Scrapy爬虫框架安装及使用详解
2017/11/16 Python
Python wxPython库Core组件BoxSizer用法示例
2018/09/03 Python
Python发送邮件测试报告操作实例详解
2018/12/08 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
2020/01/04 Python
浅谈Python中的继承
2020/06/19 Python
python tqdm实现进度条的示例代码
2020/11/10 Python
全球500多个机场的接送服务:Suntransfers
2019/06/03 全球购物
AutoShack.com加拿大:北美主要的汽车零部件零售商
2019/07/24 全球购物
室内设计专业毕业生求职信
2014/05/02 职场文书
给老婆道歉的话
2015/01/20 职场文书
Android 界面一键变灰 深色主题工具类
2022/04/28 Java/Android