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

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"
//   }
// }

参考