這篇文章主要介紹了PHP中使用json數據格式定義字面量對象的方法,這是一種變通方法,使用json還可以在類中生成數組哦,需要的朋友可以參考下
PHPer都知道PHP是不支持字面量了,至少目前版本都不支持。比如,在JS中可以這樣定義object
1 var o = { 'name' : 'qttc' , 'url' : 'www.jb51.net' }; 2 alert(o.name);
Python中定義字典,也可以這樣定義:
1 o = { 'name' : 'qttc' , 'url' : 'www.jb51.net' } 2 print o['name']
但在PHP中這么定義object:
1 $a = { "name" : "qttc", "url" : "www.jb51.net" };
會報錯:
1 [root@lee www]# php a.php 2 PHP Parse error: syntax error, unexpected '{' in /data0/htdocs/www/a.php on line 4
我們可以借用json格式,用引號把包下然后再json_decoude就好。聲明jason變量的方法!
1 $a = '{ "name" : "qttc", "url" : "www.jb51.net" }'; 2 $a = json_decode($a); 3 print_r($a);
執行結果:
1 [root@lee www]# php a.php 2 stdClass Object 3 ( 4 [name] => qttc 5 [url] => www.jb51.net 6 )
由於PHP不支持字面量or匿名函數,所以使用以上定義的方法定義object時不能添加function到object里,還可以這樣添加數組元素:
1 $a = '{ "name" : "qttc", "url" : "www.jb51.net" , "arr":["zhangsan","lisi"] }'; 2 $a = json_decode($a); 3 print_r($a);
執行結果:
1 [root@lee www]# php a.php 2 stdClass Object 3 ( 4 [name] => qttc 5 [url] => www.jb51.net 6 [arr] => Array 7 ( 8 [0] => zhangsan 9 [1] => lisi 10 ) 11 12 )