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 相关文章推荐
一个查看session内容的函数
Oct 09 PHP
phpmyadmin安装时提示:Warning: require_once(./libraries/common.inc.php)错误解决办法
Aug 18 PHP
探讨多键值cookie(php中cookie存取数组)的详解
Jun 06 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
Jun 21 PHP
XAMPP安装与使用方法详细解析
Nov 27 PHP
php导入模块文件分享
Mar 17 PHP
PHP使用in_array函数检查数组中是否存在某个值
Mar 25 PHP
wamp服务器访问php非常缓慢的解决过程
Jul 01 PHP
php基于websocket搭建简易聊天室实践
Oct 24 PHP
PHP数组生成XML格式数据的封装类实例
Nov 10 PHP
Thinkphp事务操作实例(推荐)
Apr 01 PHP
php实现用户注册密码的crypt加密
Jun 08 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动态输出JavaScript代码实例
2015/02/12 PHP
php数组键值用法实例分析
2015/02/27 PHP
PHP中遇到的时区问题解决方法
2015/07/23 PHP
浅谈php+phpStorm+xdebug配置方法
2015/09/17 PHP
js 编写规范
2010/03/03 Javascript
IE6,IE7,IE8下使用Javascript记录光标选中范围(已补全)
2011/08/28 Javascript
js 操作select与option(示例讲解)
2013/12/20 Javascript
简介JavaScript中的getSeconds()方法的使用
2015/06/10 Javascript
jQuery带时间的日期控件代码分享
2015/08/26 Javascript
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
jquery实现经典的淡入淡出选项卡效果代码
2015/09/22 Javascript
Node.js环境下JavaScript实现单链表与双链表结构
2016/06/12 Javascript
深入理解Angular2 模板语法
2016/08/07 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
2016/09/05 Javascript
js实现百度地图定位于地址逆解析,显示自己当前的地理位置
2016/12/08 Javascript
JavaScript中定义对象原型的两种使用方法
2016/12/15 Javascript
详解vue-router 2.0 常用基础知识点之router-link
2017/05/10 Javascript
Angular实现类似博客评论的递归显示及获取回复评论的数据
2017/11/06 Javascript
JS正则表达式常见用法实例详解
2018/06/19 Javascript
[02:05]2014DOTA2西雅图国际邀请赛 BBC第二天小组赛总结
2014/07/11 DOTA
python使用arcpy.mapping模块批量出图
2017/03/06 Python
python3+PyQt5使用数据库表视图
2018/04/24 Python
python实现txt文件格式转换为arff格式
2018/05/31 Python
解决python中画图时x,y轴名称出现中文乱码的问题
2019/01/29 Python
基于python的ini配置文件操作工具类
2019/04/24 Python
Django上使用数据可视化利器Bokeh解析
2019/07/31 Python
wxpython+pymysql实现用户登陆功能
2019/11/19 Python
python 实现"神经衰弱"翻牌游戏
2020/11/09 Python
pandas将list数据拆分成行或列的实现
2020/12/13 Python
python 图像增强算法实现详解
2021/01/24 Python
Laravel的加密解密与哈希实例讲解
2021/03/24 PHP
关于运动会的稿件
2014/02/02 职场文书
辩论会主持词
2015/07/03 职场文书
vue 实现上传组件
2021/05/31 Vue.js
Spring Boot两种全局配置和两种注解的操作方法
2021/06/29 Java/Android
R9700摩机记
2022/04/05 无线电