PHP中使用json数据格式定义字面量对象的方法

2015-01-24信息快讯网

这篇文章主要介绍了PHP中使用json数据格式定义字面量对象的方法,这是一种变通方法,使用json还可以在类中生成数组哦,需要的朋友可以参考下

PHPer都知道PHP是不支持字面量了,至少目前版本都不支持。比如,在JS中可以这样定义object

var o = { 'name' : 'qttc' , 'url' : 'www.jb51.net' };
alert(o.name);

Python中定义字典,也可以这样定义:
o = { 'name' : 'qttc' , 'url' : 'www.jb51.net' }
print o['name']

但在PHP中这么定义object:
$a = { "name" : "qttc", "url" : "www.jb51.net"  };

会报错:
[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" : "www.jb51.net"  }';
$a = json_decode($a);
print_r($a);

执行结果:
[root@lee www]# php a.php 
stdClass Object
(
    [name] => qttc
    [url] => www.jb51.net
)

由于PHP不支持字面量or匿名函数,所以使用以上定义的方法定义object时不能添加function到object里,还可以这样添加数组元素:
$a = '{ "name" : "qttc", "url" : "www.jb51.net" , "arr":["zhangsan","lisi"] }';
$a = json_decode($a);
print_r($a);

执行结果:
[root@lee www]# php a.php 
stdClass Object
(
    [name] => qttc
    [url] => www.jb51.net
    [arr] => Array
        (
            [0] => zhangsan
            [1] => lisi
        )
 
)

php从memcache读取数据再批量写入mysql的方法
php操作mongoDB实例分析
php调用mysql存储过程实例分析
php生成excel列名超过26列大于Z时的解决方法
php+mysqli实现批量替换数据库表前缀的方法
PHP跨平台获取服务器IP地址自定义函数分享
php中http与https跨域共享session的解决方法
thinkphp中session和cookie无效的解决方法
ThinkPHP中使用ajax接收json数据的方法
ThinkPHP通过AJAX返回JSON的两种实现方法
ThinkPHP内置jsonRPC的缺陷分析
yii2.0之GridView自定义按钮和链接用法
php递归json类实例
php实现微信公众平台账号自定义菜单类
php jsonp单引号转义
ThinkPHP中自定义错误页面和提示页面实例
PHP统计目录大小的自定义函数分享
PHP函数in_array()使用详解
PHP采用自定义函数实现遍历目录下所有文件的方法
浅谈php函数serialize()与unserialize()的使用方法
PHP将回调函数作用到给定数组单元的方法
php实现文件下载代码分享
PHP中array_map与array_column之间的关系分析
php版本的cron定时任务执行器使用实例
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
php解析json数据实例
php实现的太平洋时间和北京时间互转的自定义函数分享
php中Session的生成机制、回收机制和存储机制探究
PHP Session机制简介及用法
PHP JSON出错:Cannot use object of type stdClass as array解决方法
ThinkPHP中自定义目录结构的设置方法
getJSON跨域SyntaxError问题分析
php中把美国时间转为北京时间的自定义函数分享
PHP开发框架kohana3 自定义路由设置示例
php中json_encode处理gbk与gb2312中文乱码问题的解决方法
©2014-2024 dbsqp.com