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中利用XML技术构造远程服务(下)
Oct 09 PHP
介绍几个array库的新函数 php
Dec 29 PHP
linux下使用ThinkPHP需要注意大小写导致的问题
Aug 02 PHP
使用php验证复选框有效性的示例
Nov 13 PHP
php网页标题中文乱码的有效解决方法
Mar 05 PHP
php中实现用数组妩媚地生成要执行的sql语句
Jul 10 PHP
php数组生成html下拉列表的方法
Jul 20 PHP
php简单生成随机数的方法
Jul 30 PHP
PHP 搜索查询功能实现
Nov 29 PHP
PHP Post获取不到非表单数据的问题解决办法
Feb 27 PHP
PHP程序员必须知道的两种日志实例分析
May 14 PHP
PHP接口类(interface)的定义、特点和应用示例
May 18 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笔记之:初探PHPcms模块开发介绍
2013/04/26 PHP
yii实现图片上传及缩略图生成的方法
2014/12/04 PHP
php+mongodb判断坐标是否在指定多边形区域内的实例
2016/10/28 PHP
一些mootools的学习资源
2010/02/07 Javascript
JavaScript 对象的属性和方法4种不同的类型
2010/03/19 Javascript
javascrip客户端验证文件大小及文件类型并重置上传
2011/01/12 Javascript
jquery使用ColorBox弹出图片组浏览层实例演示
2013/03/14 Javascript
JS模板实现方法
2013/04/03 Javascript
jquery动态添加option示例
2013/12/30 Javascript
jQuery中prop()方法用法实例
2015/01/05 Javascript
基于javascript实现单选及多选的向右和向左移动实例
2015/07/25 Javascript
Nodejs从有门道无门菜鸟起飞必看教程
2016/07/20 NodeJs
前端微信支付js代码
2016/07/25 Javascript
easyui中combotree循环获取父节点至根节点并输出路径实现方法
2016/11/10 Javascript
详解jQuery uploadify文件上传插件的使用方法
2016/12/16 Javascript
如何理解Vue的作用域插槽的实现原理
2017/08/19 Javascript
vue 组件 全局注册和局部注册的实现
2018/02/28 Javascript
vue如何在自定义组件中使用v-model
2018/05/14 Javascript
vue-自定义组件传值的实例讲解
2018/09/18 Javascript
微信小程序学习总结(五)常见问题实例小结
2020/06/04 Javascript
Vue切换div显示隐藏,多选,单选代码解析
2020/07/14 Javascript
JavaScript中arguments的使用方法详解
2020/12/20 Javascript
[49:31]TFT vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python基于pillow判断图片完整性的方法
2016/09/18 Python
numpy排序与集合运算用法示例
2017/12/15 Python
Python在Matplotlib图中显示中文字体的操作方法
2019/07/29 Python
CSS3中border-radius属性设定圆角的使用技巧
2016/05/10 HTML / CSS
HTML5自定义mp3播放器源码
2020/01/06 HTML / CSS
澳大利亚男士西服品牌:M.J.Bale
2018/02/06 全球购物
你在项目中用到了xml技术的哪些方面?如何实现的?
2014/01/26 面试题
求职意向书范文
2014/04/01 职场文书
销售团队获奖感言
2014/08/14 职场文书
小学生作文批改评语
2014/12/25 职场文书
小学生通知书评语
2014/12/31 职场文书
学校捐书活动总结
2015/05/08 职场文书
JS新手入门数组处理的实用方法汇总
2021/04/07 Javascript