1. 程式人生 > >PHP------陣列和物件相互轉化,stdClass Object轉array

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'];//[上海市] [嘉定]的震徽電子已收件 電話:暫無


 

相關推薦

PHP------陣列物件相互轉化stdClass Objectarray

陣列轉JSON PHP json_encode() 用於對變數進行 JSON 編碼,該函式如果執行成功返回 JSON 資料,否則返回 FALSE 。 JSON轉陣列 PHP json_decode()

PHP陣列XML相互轉換的函式微信中常見的Sign生成函式

//陣列轉Xml function ArrToXml($arr) { if(!is_array($arr) || count($arr) == 0) return ''; $xml = "<xml>"; foreach ($arr as $key=>$val) {

PHP陣列物件相互轉換

關於php中想讓物件以陣列的形式訪問,這時候就需要使用到get_object_vars()函數了。先來介紹一下這個函式。 官方文件是這樣解釋的: array get_object_vars

PHP陣列物件的區別

有時候會思考一個問題 php中物件和陣列的區別 物件不僅有屬性,還有方法;,物件可以封裝對這些資料的操作,而陣列是辦不到的。 因此:如果是單純存資料,就用陣列,但如果你要定義對這些資料的操作,更建議使用物件! 舉例: 如果你想在操作的資料里加個通用的方法,比如返回值是加密的,或者其它

陣列List相互轉化(轉載)

1.List轉換成為陣列。(這裡的List是實體是ArrayList)呼叫ArrayList的toArray方法。toArraypublic <T> T[] toArray(T[] a)返回一個按照正確的順序包含此列表中所有元素的陣列;返回陣列的執行時型別就是指定

php陣列物件的值傳遞引用傳遞

一般的資料型別(int, float, bool)不做這方面的解說了 這裡詳細介紹一下陣列和的類的物件作為引數進行值傳遞的區別 陣列值傳遞 例項程式碼: ? <?php function

javascript中陣列字串的相互轉化新增刪除

在javascript中,陣列轉化為字串用join(); 把字串轉化陣列用split(); 陣列的新增,push() 在陣列的最後面新增內容,unshift()在陣列的最前面新增內容, 陣列的刪除,pop()刪除陣列中的最後一個元素,shift()刪除陣列中的第一個元素;

PHP陣列物件之間相互轉換

/**  * 陣列 轉 物件  *  * @param array $arr 陣列  * @return object  */ function ar

php陣列 json陣列物件

PHP中將陣列轉變成Json 強大的PHP已經提供了內建函式:json_encode() 和 json_decode()。很容易理解,json_encode()就是將PHP陣列轉換成Json。相反,json_decode()就是將Json轉換成PHP陣列。 例如:

java 字串與字元陣列相互轉化字串與位元組陣列相互轉化

package com.liuxd; /** * Created by Liuxd on 2018-11-02. */ public class TestString { public static void main(String[] args) throws Exception

js---聖盃模式 列舉如何區分陣列物件callee

1. 繼承發展史(從a發展到d) a 原型鏈繼承:過多的繼承沒有用的屬性 function Grand(){this.grand='grand';this.name='haha'} function Father(){this.father='father'} function Son(){th

PHP陣列的幾個操作求並集交集差集陣列與字串的相互轉換及陣列去重

在php中如果我想要對兩個陣列進行如並集、交集和差集操作,我們可直接使用php自帶的函式來操作如array_merge(),array_intersect(),array_diff(). 計算陣列的合併 array_merge與“+”的區別 array_merge() 函式

PHP 字串與陣列間的相互轉化

PHP中陣列與字串經常有需要轉化的時候,在其他語言中可能會非常麻煩。但在php中,已經為我們提供了兩個方法來實現這一功能,它們的用法如下: 1.字串轉化為陣列:explode()方法 $label = "張三,李四,王五,趙六"; $labelArray =

物件字典相互轉化

注:如果是int而不是NSNumber,則kvc時自動轉化為NSNumber,所以不必擔心!!! - (MyObject *)objectFromDic:(NSDictionary *)dic { MyObject *o = [[MyObject alloc] in

numpy array list 的相互轉化 [np.where(x == i)[0] for i in range(10)] 的意思

1.list 轉 numpy array a = [0,2,3,2,1,2,4,5,6,7,8,6,5,4,3,2,7,8,9,6,5,7,8,9,6,9,1,2,2,5,6,8,8,9,7,0] x = np.array(a) print(x)  2. numpy arr

php中的datetimetimestamp相互轉化

1.datetime轉化為timestamp strtotime(datetime); 2.timestamp 轉化為datetime $date=date('Y-m-d H:i:s', $stamp

Java List 陣列之間的相互轉化

JDK1.8以下的處理方式 List-> 陣列 1List<String> list = new ArrayList<String>(Arrays.asList("a

php陣列json陣列之間的互相轉化

$array = array( //普通陣列 "name" => "Tom", "age" => 22 ); ec

JavaScript中陣列物件的遍歷方法總結

迴圈遍歷是寫程式很頻繁的操作,JavaScript 提供了很多方法來實現。 這篇文章將分別總結陣列和物件的遍歷方法,新手可以通過本文串聯起學過的知識。 陣列遍歷 方法一:for 迴圈 for 迴圈是使用最多,也是效能優化最好的一種遍歷方式。 var arr = ["a", "b", "c"]; for (va

POI操作wordhtml相互轉化

image com 文件 ali cto gpa jar包 nsf fun 下面是裏兩個類:第一個類是html轉為word,第二個是word轉html(最下面附上jar包下載鏈接) package com.wz.poi.wordHtml; /** * 2018/4/24 *