5000164 is here
My writing is my life.
No results for
    Powered byAlgolia
    PHP の二次元配列から同じキーの値だけで新しい配列を生成する
    Published July 22nd, 2015

    PHP の二次元配列から同じキーの値だけで新しい配列を生成する関数 array_column

    他の人のコードを読んでたらたまたま見つけた便利な関数 arraycolumn。
    二次元配列から同じキーの値だけで新しい配列を生成する。
    [PHP: array
    column - Manual](http://php.net/manual/ja/function.array-column.php)

    同じキーの値だけで新しい配列を作るサンプル

    <?php
    $data = [
        [
            'id' => 1,
            'name' => 'aaa',
        ],
        [
            'id' => 2,
            'name' => 'bbb',
        ],
    ];
    
    $id_list = array_column($data, 'id');
    $name_list = array_column($data, 'name');
    
    var_dump($id_list);
    // array(2) {
    //   [0]=>
    //   int(1)
    //   [1]=>
    //   int(2)
    // }
    
    var_dump($name_list);
    // array(2) {
    //   [0]=>
    //   string(3) "aaa"
    //   [1]=>
    //   string(3) "bbb"
    // }

    二次元配列の縦横を入れ替える (転置行列を得る) サンプル

    <?php
    $data = [
        [
            'id' => 1,
            'name' => 'aaa',
        ],
        [
            'id' => 2,
            'name' => 'bbb',
        ],
    ];
    
    $transposed_matrix = [];
    foreach ($data[0] as $key => $value) {
        $transposed_matrix[$key] = array_column($data, $key);
    }
    
    var_dump($transposed_matrix);
    // array(2) {
    //     ["id"]=>
    //   array(2) {
    //         [0]=>
    //     int(1)
    //     [1]=>
    //     int(2)
    //   }
    //   ["name"]=>
    //   array(2) {
    //         [0]=>
    //     string(3) "aaa"
    //     [1]=>
    //     string(3) "bbb"
    //   }
    // }

    参考