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中使用json数据格式定义字面量对象的方法
- Author -
junjie声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@