代碼如下 | 複制代碼 |
$a['d'][]=1; $a['d'][]=2; echo $str=json_encode(array($a)); var_dump(json_decode($str)); |
轉換代碼
代碼如下 | 複制代碼 |
array(1) { [0]=> object(stdClass)#1 (1) { ["d"]=> array(2) { [0]=> int(1) [1]=> int(2) } } } |
看到了吧這是一個數組裏面放置一個對象; 我們強制json_decode結果轉換為數組吧——加上參數
代碼如下 | 複制代碼 |
var_dump(json_decode($str,true)); array(1) { [0]=> array(1) { ["d"]=> array(2) { [0]=> int(1) [1]=> int(2) } } }
|
可以看出 json_decode($data,true)輸出的一個關聯數組,由此可知json_decode($data)輸出的是對象,而json_decode("$arr",true)是把它強制生成PHP關聯數組。json_encode()和json_decode()是編譯和反編譯過程,注意json只接受utf-8編碼的字符,所以json_encode()的參數必須是utf-8編碼,否則會得到空字符或者null。