ホームページ >バックエンド開発 >PHPの問題 >PHPはオブジェクトを配列に変換できますか?

PHPはオブジェクトを配列に変換できますか?

藏色散人
藏色散人オリジナル
2021-10-15 10:17:291906ブラウズ

php はオブジェクトを配列に変換できます。変換方法は次のとおりです: 1. json_encode を使用してオブジェクトの配列を文字列に変換します。 2. json_decode() を使用して文字列を配列に変換します。

PHPはオブジェクトを配列に変換できますか?

この記事の動作環境: Windows7 システム、PHP バージョン 7.1、DELL G3 コンピューター

PHP でオブジェクトを配列に変換できますか? ?

php オブジェクトを配列に変換する

手順

開発プロセス中に、インスタンス化されたオブジェクトを配列に変換する必要がある場合があります。

たとえば、加工したデータを Excel にエクスポートしたいのですが、Excel エクスポートは配列形式のみをサポートしています

たとえば、以下のコードは戻り値のデータを配列型にする必要があります。

配列にシリアル化していますが、この時点ではオブジェクト配列が返されます。

 $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 を使用してオブジェクト配列を文字列に変換し、次にそれをarray

$data=json_decode(json_encode($data),true);
返回如下
CopyCopy
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
  ]
]

推奨学習:「PHP ビデオ チュートリアル>>

以上がPHPはオブジェクトを配列に変換できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。