編碼的世界 / 優質文選 / 文明

php中json_decode()和json_encode()的使用方法以及其參數‘true’


2022年7月06日
-   

代碼如下複制代碼
$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。

熱門文章