PHP------數組和對象相互轉化,stdClass Object轉array


數組轉JSON

PHP json_encode() 用於對變量進行 JSON 編碼,該函數如果執行成功返回 JSON 數據,否則返回 FALSE 。

JSON轉數組

PHP json_decode() 函數用於對 JSON 格式的字符串進行解碼,並轉換為 PHP 變量。

 

 $arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
   echo json_encode($arr);

 

結果:   {"a":1,"b":2,"c":3,"d":4,"e":5}

反之亦然。

 

第三方接口解析(stdClass Object轉array)

最近開發商城,使用到了物流的第三方API接口的JSON數據,往往單純通過json_decode方法解析獲得得數值一般並非數組,

而是帶有stdClass Objec的對象字符串,這時如果我們想獲取相應的PHP數組時,需通過以下幾種方法來獲取。

 

 

//PHP stdClass Object轉array  
function object_array($array) {  
    if(is_object($array)) {  
        $array = (array)$array;  
     } if(is_array($array)) {  
         foreach($array as $key=>$value) {  
             $array[$key] = object_array($value);  
             }  
     }  
     return $array;  
}

 

因為json_decode()函數可以接受兩個參數:

當 $data= json_decode($object);  //得到的是 object 上面數據類型。

當 $data= json_decode($object, ture);  //得到的則是數組。

 $data= json_decode($json, ture);   

 

本人使用的是第二種,簡單也方便,打印數據

 print_array($data);

這樣就和平常的數組一樣了,也方便使用了,例:

echo $data['data'][0]['traces'][0]['desc'];//[上海市] [嘉定]的震徽電子已收件 電話:暫無

 


免責聲明!

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



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