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 静态页面中显示动态内容
Aug 14 PHP
PHP GD 图像处理组件的常用函数总结
Apr 28 PHP
PHP及Zend Engine的线程安全模型分析
Nov 10 PHP
php对二维数组按指定键值key排序示例代码
Nov 26 PHP
PHP的伪随机数与真随机数详解
May 27 PHP
PHP+shell实现多线程的方法
Jul 01 PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
Mar 03 PHP
PHP常用的三种设计模式
Feb 17 PHP
PHP函数按引用传递参数及函数可选参数用法示例
Jun 04 PHP
PHP预定义超全局数组变量小结
Aug 20 PHP
在PHP中实现使用Guzzle执行POST和GET请求
Oct 15 PHP
thinkPHP事务操作简单案例分析
Oct 17 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
MySQL连接数超过限制的解决方法
2011/07/17 PHP
jQuery Ajax之load()方法
2009/10/12 Javascript
jquery获取焦点和失去焦点事件代码
2013/04/21 Javascript
javascript通过元素id和name直接取得元素的方法
2015/04/28 Javascript
总结jQuery插件开发中的一些要点
2016/05/16 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
js中通过getElementsByName访问name集合对象的方法
2016/10/31 Javascript
读Javascript高性能编程重点笔记
2016/12/21 Javascript
Vue计算属性的学习笔记
2017/03/22 Javascript
jQuery实现的弹幕效果完整实例
2017/09/06 jQuery
解决jquery appaend元素中id绑定事件失效的问题
2017/09/12 jQuery
Vue表单类的父子组件数据传递示例
2018/05/03 Javascript
如何解决.vue文件url引用文件的问题
2019/01/18 Javascript
使用Webpack提升Vue.js应用程序的4种方法(翻译)
2019/10/09 Javascript
微信小程序实现注册登录功能(表单校验、错误提示)
2019/12/10 Javascript
JS使用Chrome浏览器实现调试线上代码
2020/07/23 Javascript
vue设置默认首页的操作
2020/08/12 Javascript
解决vue-pdf查看pdf文件及打印乱码的问题
2020/11/04 Javascript
[02:42]完美大师赛主赛事淘汰赛第三日观众采访
2017/11/25 DOTA
python实现按行切分文本文件的方法
2016/04/18 Python
numpy使用技巧之数组过滤实例代码
2018/02/03 Python
Python中的正则表达式与JSON数据交换格式
2019/07/03 Python
Django1.11自带分页器paginator的使用方法
2019/10/31 Python
python 利用已有Ner模型进行数据清洗合并代码
2019/12/24 Python
Django多个app urls配置代码实例
2020/11/26 Python
Agoda中文官网:安可达(低价预订全球酒店)
2021/01/18 全球购物
英文自荐信
2013/12/19 职场文书
职工运动会邀请函
2014/01/19 职场文书
本科生导师推荐信范文
2014/05/18 职场文书
五四演讲稿范文
2014/09/03 职场文书
公司领导班子对照检查存在问题整改措施
2014/10/02 职场文书
2014年建筑工作总结
2014/11/26 职场文书
质量保证书格式
2015/02/27 职场文书
2015年教研工作总结
2015/05/23 职场文书
用Python简陋模拟n阶魔方
2021/04/17 Python
Java Spring 控制反转(IOC)容器详解
2021/10/05 Java/Android