PHP5.5より実装。
下記のような連想配列があったとする。
$array = [ [ 'id' => 1, 'key' => 3352, 'name' => 'hoge', 'email' => 'hoge@example.com' ], [ 'id' => 2, 'key' => 2265, 'name' => 'fuga', 'email' => 'fuga@example.com' ], [ 'id' => 3, 'key' => 7311, 'name' => 'piyo', 'email' => 'piyo@example.com' ] ];
上記連想配列中の「email」要素のみを取り出したい場合、array_column()を用いると便利。
$emails = array_column($array, 'email'); var_dump($emails); ↓ array(3) { [0]=> string(16) "hoge@example.com" [1]=> string(16) "fuga@example.com" [2]=> string(16) "piyo@example.com" }
また、第3引数にも入力配列中の要素を指定することで結果配列のキーに指定した要素の値を挿入してくれる。
$emails = array_column($array, 'email', 'key'); var_dump($emails); ↓ array(3) { [3352]=> string(16) "hoge@example.com" [2265]=> string(16) "fuga@example.com" [7311]=> string(16) "piyo@example.com" }