PHP json_decode為什么將json字符串轉成數組是對象格式?


eg.

$a='[{\"img\":\"/uploads/agency/carimgs/5/15515954778091.jpg\"},{\"img\":\"/uploads/agency/carimgs/5/15515954774873.jpg\"}]';

如果用json_decode($a),得到的是:

array (size=2)
  0 => 
    object(stdClass)[2]
      public 'img' => string '/uploads/agency/carimgs/5/15515954778091.jpg' (length=44)
  1 => 
    object(stdClass)[3]
      public 'img' => string '/uploads/agency/carimgs/5/15515954774873.jpg' (length=44)

可見,返回的結果是 object 而非 array。應以對象形式訪問 ->

 

而對於json_decode這個函數

json_decode() 對JSON數據進行解碼,轉換為PHP變量
語法:json_decode ($json [,$assoc = false [, $depth = 512 [, $options = 0 ]]])
注意:1、$json 為待解碼的數據,必須為utf8編碼的數據;
   2、$assoc 值為TRUE時返回數組,FALSE時返回對象;
   3、$depth 為遞歸深度;
   4、$option 二進制掩碼,目前只支持 JSON_BIGINT_AS_STRING;
   5、一般只用前面兩個參數,如果要數據類型的數據要加一個參數true。

 

所以json_decode($a,true),就會得到

array (size=2)
  0 => 
    array (size=1)
      'img' => string '/uploads/agency/carimgs/5/15515954778091.jpg' (length=44)
  1 => 
    array (size=1)
      'img' => string '/uploads/agency/carimgs/5/15515954774873.jpg' (length=44)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM