在php中可以透過json_decode函數將json轉換成數組,該函數的作用就是對JSON格式的字串進行解碼,其語法是「json_decode ( string $json , bool $assoc=false.. .)」。
本文操作環境:Windows7系統、PHP7.1版,DELL G3電腦
json_decode
#(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL json >= 1.2.0)
json_decode — 對JSON 格式的字串進行解碼
說明
json_decode ( string $json , bool $assoc = false , int $depth = 512 , int $options = 0 ) : mixed
接受一個JSON 編碼的字串並且把它轉換為PHP 變數
#參數
json
待解碼的json string 格式的字串。
這個函數只能處理 UTF-8 編碼的資料。
注意:
PHP 實作了 JSON 的一個超集。
assoc
當該參數為 true 時,將傳回 array 而非 object 。
depth
指定遞歸深度。
options
由 JSON_BIGINT_AS_STRING, JSON_INVALID_UTF8_IGNORE, JSON_INVALID_UTF8_SUBSTITUTE, JSON_OBJECT_AS_ARRAY, JSON_THROW_ON_ERROR 組成的遮罩。這些常量的行為在JSON constants頁面有進一步描述。
傳回值
透過適當的 PHP 類型傳回在 json 中編碼的資料。值true, false 和 null 會相應地傳回 true, false 和 null。如果 json 無法被解碼, 或者編碼資料深度超過了遞歸限制的話,將會傳回null 。
【推薦學習:PHP影片教學】
範例#1 json_decode() 的範例
<?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); var_dump(json_decode($json, true)); ?>
以上例程會輸出:
object(stdClass)#1 (5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) } array(5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) }
以上是php怎麼將json轉換成陣列的詳細內容。更多資訊請關注PHP中文網其他相關文章!