日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯網營銷解決方案
PHP應用JSON技巧講解

PHP語言的應用范圍非常廣泛,可以幫助我們實現許多功能。在這篇文章中我們將會學到有關PHP應用JSON的相關技巧,希望對大家有所幫助。#t#

Javascript 中可以用{}表示一個對象,用[]表示一個數組,如:

var obj={"a":"v","b":"x"};//這表示變量obj是一個對象,它有兩個屬性:a和b,屬性值分別是:v和x.
var arr=["v","x"];//這表示變量arr是一個數組,它有兩一元素,索引分別是0和1,值分別是:v和x.
JSON其實就是這兩種格式混合在一起來表示數據的邏輯結構的格式,其實JSON就是Javascript中對象和數組的混合體

PHP提供的專門的函數來生成和解析JSON格式的數據,PHP解析出來的數據根原先Javascript的數據的意義一樣,即Javascript對象解析成PHP對象,Javascript數組解析成PHP數組,PHP應用JSON的函數是:json_encode($PHPcode);
PHP解析JSON的函數是:json_decode($JSONcode);

所以JSON的形式有多種,不同的形式在PHP解釋出來后的形式也是不同的。

 
 
 
  1. //形式1:完全是對象的形式,這種形式的數據在Javascript
    中又叫相關數組,與一般數組不同的是,
    它可以通過字符串作索引來訪問(用“[]”或“.”
    來表示層級)  
  2. $json='{"item1":{"item11":{"n":"chenling",
    "m":"llll"},"sex":"男","age":"25"},"item2":
    {"item21":"ling","sex":"女","age":"24"}}';  
  3. $J=json_decode($json);  
  4. print_r($J);  

將輸出:

 
 
 
  1. stdClass Object  
  2. (  
  3. [item1] => stdClass Object  
  4. (  
  5. [item11] => stdClass Object  
  6. (  
  7. [n] => chenling  
  8. [m] => llll  
  9. )  
  10. [sex] => 男  
  11. [age] => 25  
  12. )  
  13. [item2] => stdClass Object  
  14. (  
  15. [item21] => ling  
  16. [sex] => 女  
  17. [age] => 24  
  18. )  
  19. )  

比如說我要取得了值是chenling的那個屬性,則應該這樣訪問:

$J->item1->item11->n;//這將取得屬性n的值:chenling

其實這種訪問形式跟訪問普通的對象屬性差不多,也相當于訪問一個3維數組。

 
 
 
  1. //形式2:對象和數組混合  
  2. $json='{"item1":[{"name":[{"chen":
    "chenling","ling":"chenli"}],"sex":
    "男","age":"25"},{"name":"sun","sex":
    "女","age":"24"}]}';  
  3. $J=json_decode($json);  
  4. print_r($J);  
  5. 將輸出:  
  6. stdClass Object  
  7. (  
  8. [item1] => Array  
  9. (  
  10. [0] => stdClass Object  
  11. (  
  12. [name] => Array  
  13. (  
  14. [0] => stdClass Object  
  15. (  
  16. [chen] => chenling  
  17. [ling] => chenli  
  18. )  
  19. )  
  20. [sex] => 男  
  21. [age] => 25  
  22. )  
  23. [1] => stdClass Object  
  24. (  
  25. [name] => sun  
  26. [sex] => 女  
  27. [age] => 24  
  28. )  
  29. )  

比如說我要取得了值是chenling的那個元素,則應該這樣訪問:

$J->item1[0]->name[0]->chen;//這將取得元素chen的值:chenling

其實這種PHP應用JSON形式結合了對象和數組的訪問方式,也相當于訪問一個5維數組。

 
 
 
  1. //形式3:完全數組形式  
  2. $json='[["item1","item11"],[
    "n","chenling"],["m","llll"]]';  
  3. $J=json_decode($json);  
  4. print_r($J);  
  5. 將輸出:  
  6. Array  
  7. (  
  8. [0] => Array  
  9. (  
  10. [0] => item1  
  11. [1] => item11  
  12. )  
  13. [1] => Array  
  14. (  
  15. [0] => n  
  16. [1] => chenling  
  17. )  
  18. [2] => Array  
  19. (  
  20. [0] => m  
  21. [1] => llll  
  22. )  

 

比如說我要取得了值是chenling的那個元素,則應該這樣訪問:

$J[0][1];//這將取得元素值chenling的那個元素

但是用這種方式有一個缺點,就是無法用字符串作為索引,只能用數字,用完全對象的形式可以解決這個問題,其實這種訪問形式就是數組的訪問方式,相當于訪問一個2維數組。

PHP應用JSON小結:

從上面的PHP應用JSON例子可以看出JSON有點類似XML,也可以在PHP和Javascript之間傳遞帶結構的數據,使用起來很方便。
需要注意的是每個屬性和屬性值都由引號""包括起來。


當前標題:PHP應用JSON技巧講解
分享鏈接:http://www.5511xx.com/article/ccdcjde.html