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版(3)
Oct 09 PHP
自己前几天写的无限分类类
Feb 14 PHP
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
Dec 11 PHP
php循环语句 for()与foreach()用法区别介绍
Sep 05 PHP
destoon实现首页显示供应、企业、资讯条数的方法
Jul 15 PHP
php中文验证码实现方法
Jun 18 PHP
php等比例缩放图片及剪切图片代码分享
Feb 13 PHP
PHP new static 和 new self详解
Feb 19 PHP
Yii2 如何在modules中添加验证码的方法
Jun 19 PHP
ubutu 16.04环境下,PHP与mysql数据库,网页登录验证实例讲解
Jul 20 PHP
Yii框架分页技术实例分析
Aug 30 PHP
浅谈PHP之ThinkPHP框架使用详解
Jul 21 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
星际争霸 Starcraft 秘技补丁
2020/03/14 星际争霸
PHP限制HTML内容中图片必须是本站的方法
2015/06/16 PHP
php实现socket推送技术的示例
2017/12/20 PHP
PHP项目多语言配置平台实现过程解析
2020/05/18 PHP
Jquery实战_读书笔记1—选择jQuery
2010/01/22 Javascript
Google AJAX 搜索 API实现代码
2010/11/17 Javascript
js页面跳转常用的几种方式
2010/11/25 Javascript
js判断是否为ie的方法小结
2014/01/13 Javascript
JavaScript实现将数组中所有元素连接成一个字符串的方法
2015/04/06 Javascript
为什么JS中eval处理JSON数据要加括号
2015/04/13 Javascript
JavaScript设计模式经典之工厂模式
2016/02/24 Javascript
AngularJS中的指令全面解析(必看)
2016/05/20 Javascript
Bootstrap基本插件学习笔记之模态对话框(16)
2016/12/08 Javascript
JS获得一个对象的所有属性和方法实例
2017/02/21 Javascript
VUE2.0+Element-UI+Echarts封装的组件实例
2018/03/02 Javascript
Node.js 多进程处理CPU密集任务的实现
2019/05/26 Javascript
VUE组件中的 Drawer 抽屉实现代码
2019/08/06 Javascript
countUp.js实现数字滚动效果
2019/10/18 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
2019/10/25 Javascript
Vue组件化开发之通用型弹出框的实现
2020/02/28 Javascript
python自动化脚本安装指定版本python环境详解
2017/09/14 Python
Jupyter notebook远程访问服务器的方法
2018/05/24 Python
Pyinstaller 打包exe教程及问题解决
2019/08/16 Python
python超时重新请求解决方案
2019/10/21 Python
利用Python中的Xpath实现一个在线汇率转换器
2020/09/09 Python
python实现快速文件格式批量转换的方法
2020/10/16 Python
CSS3系列教程:背景图片(背景大小和多背景图) 应用说明
2012/12/19 HTML / CSS
英国最大的电子产品和家电零售企业:Currys PC World
2016/09/24 全球购物
美国销售第一的智能手机和平板电脑保护壳:OtterBox
2017/12/21 全球购物
菜篮子工程实施方案
2014/03/08 职场文书
2014年房地产销售工作总结
2014/12/01 职场文书
优秀党支部申报材料
2014/12/24 职场文书
师德培训心得体会2016
2016/01/09 职场文书
SpringBoot整合阿里云视频点播的过程详解
2021/12/06 Java/Android
阿里云服务器部署RabbitMQ集群的详细教程
2022/06/01 Servers
Nginx报404错误的详细解决方法
2022/07/23 Servers