自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PHP應用JSON技巧講解

開發(fā) 后端
PHP應用JSON的相關函數(shù)為:json_encode($PHPcode);而應用PHP解析JSON的函數(shù)則為:json_decode($JSONcode);等。我們在文章中將做詳細介紹。

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

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

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

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

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

  1. //形式1:完全是對象的形式,這種形式的數(shù)據(jù)在Javascript
    中又叫相關數(shù)組,與一般數(shù)組不同的是,
    它可以通過字符串作索引來訪問(用“[]”或“.”
    來表示層級)  
  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維數(shù)組。

 

  1. //形式2:對象和數(shù)組混合  
  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形式結(jié)合了對象和數(shù)組的訪問方式,也相當于訪問一個5維數(shù)組。

  1. //形式3:完全數(shù)組形式  
  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的那個元素

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

PHP應用JSON小結(jié):

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

責任編輯:曹凱 來源: 百度博客
相關推薦

2009-12-04 15:52:46

PHP導入Excel文

2009-12-10 17:37:28

PHP Cookie登

2009-12-10 14:27:21

PHP處理Word轉(zhuǎn)P

2009-11-27 13:24:20

PHP代碼性能優(yōu)化

2009-11-27 16:20:22

PHP遞歸調(diào)用

2009-11-30 09:21:39

PHP函數(shù)rmdir(

2009-12-09 13:32:08

PHP zend安裝

2009-12-09 16:53:45

PHP打印任意時間

2009-12-30 18:18:32

Silverlight

2010-02-22 16:19:25

WCF自托管

2009-11-30 15:10:46

PHP substr函

2009-12-11 14:21:57

PHP獲取字段屬性

2009-12-01 19:17:48

PHP開發(fā)高效WEB系

2009-12-15 09:56:51

Ruby流程控制

2009-12-21 14:49:27

2010-01-26 09:27:47

Android列表框

2009-12-04 14:09:52

PHP JSON應用

2009-12-04 15:43:03

PHP JSON擴展

2009-12-11 10:59:48

PHP函數(shù)extrac

2009-11-17 11:24:00

PHP應用技巧
點贊
收藏

51CTO技術(shù)棧公眾號