Help us understand the problem. What is going on with this article?

php 多次元配列になったstdClassをArrayにキャストする

More than 3 years have passed since last update.

背景

これを

[
        (int) 0 => object(stdClass) {
                id => 1
                name => 'taro'
        },
        (int) 1 => object(stdClass) {
                id => 2
                name => 'jiro'
        }
]

こうしたい

[
        (int) 0 => [
                'id' => 1,
                'name' => 'taro',
        ],
        (int) 1 => [
                'id' => 2,
                'name' => 'jiro',
       ]
] 

環境

$ php -v
PHP 5.6.14 (cli) (built: Sep 30 2015 14:07:43)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies

結果

これだけ

$array = json_decode(json_encode($stdArray), true);

やっていることは単純で一度jsonにエンコードした後、配列形式にデコードしている。
json_decode の第二引数に true を指定することで配列形式にデコードしてくれる。

参考にさせて頂いたURL

http://php.net/manual/ja/function.json-encode.php
http://php.net/manual/ja/function.json-decode.php

muramount
どこにでもいるサーバーサイドエンジニアです
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away