php 將對象轉化為數組


說明

開發過程中我們會遇到需要將實例化的對象轉化為數組的情況
例如我想將處理過后的數據進行excel導出但是excel導出只
支持數組格式類型

例子

例如下面這個代碼我需要返回值data為數組類型,
雖然序列化為數組但是此時返回的是對象數組

     $data=$orderList->getCollection()->map(function ($order){
            return new OrderResponse($order);
        });
    dd($data->toArray());

返回如下

^ array:8 [
  0 => app\admin\Responses\OrderResponse {#122
    +"statistical_date": "2021-09-10"
    +"order_num": 1
    +"play_type_count": 1
    +"invalid_order_count": 1
  }
  1 => app\admin\Responses\OrderResponse {#119
    +"statistical_date": "2021-09-09"
    +"order_num": 6
    +"play_type_count": 6
    +"invalid_order_count": 3
  }
]

處理方法

利用json_decode() 將字符串轉化為數組
先將對象數組使用json_encode轉化為字符串然后再轉為數組即可

 $data=json_decode(json_encode($data),true);

返回如下

array:8 [
  0 => array:4 [
    "statistical_date" => "2021-09-10"
    "order_num" => 1
    "play_type_count" => 1
    "invalid_order_count" => 1
  ]
  1 => array:4 [
    "statistical_date" => "2021-09-09"
    "order_num" => 6
    "play_type_count" => 6
    "invalid_order_count" => 3
  ]
]


免責聲明!

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



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