1. 程式人生 > >PHP的JSON中索引陣列和關聯陣列

PHP的JSON中索引陣列和關聯陣列

索引陣列和關聯陣列

PHP支援兩種陣列,一種是隻儲存"值"(value)的索引陣列(indexed array),另一種是儲存"名值對"(name/value)的關聯陣列(associative array)。

由於javascript不支援關聯陣列,所以json_encode()只將索引陣列(indexed array)轉為陣列格式,而將關聯陣列(associative array)轉為物件格式。

比如,現在有一個索引陣列

[php] view plain copy

  1. $arr = Array('one','two''three'

    );  

  2.    

  3. echo json_encode($arr);  

 輸出

[php] view plain copy

  1. ["one","two","three"]  


 如果將它改為關聯陣列:

[php] view plain copy

  1. $arr = Array('1'=>'one','2'=>'two','3'=>'three');  

  2.    

  3. echo json_encode($arr);  

 輸出變為

[php] view plain copy

  1. {"1":"one","2":"two","3":"three"}  

注意,資料格式從"[]"(陣列)變成了"{}"(物件)。

如果你需要將"索引陣列"強制轉化成"物件",可以這樣寫

[php] view plain copy

  1. json_encode( (object)$arr);  

 或者

[php] view plain copy

  1. json_encode ( $arr, JSON_FORCE_OBJECT );