程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP中使用json數據格式定義字面量對象的方法

PHP中使用json數據格式定義字面量對象的方法

編輯:PHP綜合

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
        )
 
)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved