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)