array_columnで連想配列から新たな配列を作る

harada 65views 更新:2016年8月26日

array_columnという関数を利用することで、複雑な連想配列から一部だけ取り出した新しい配列を作ることができるようです。

例:
$sample = [
  0 => [ 'id' => 57845, 'start_date' => '2014-07-03', 'end_date' => '2016-07-03'],
  1 => [ 'id' => 74832, 'start_date' => '2015-09-18', 'end_date' => '2017-09-18'],
  2 => [ 'id' => 79778, 'start_date' => '2016-01-10', 'end_date' => '2018-01-10' ],
  3 => [ 'id' => 35236, 'start_date' => '2016-04-29', 'end_date' => '' ],
];

start_dateだけ取り出したい場合。

$sample2 = array_column($sample, 'start_date');

//出力結果
//array ( 0 => '2014-07-03', 1 => '2015-09-18', 2 => '2016-01-10', 3 => '2016-04-29', )

idをキーにstart_dateを取り出したい場合

$sample3 = array_column($sample, 'start_date', 'id')

//出力結果
//array ( 57845 => '2014-07-03', 74832 => '2015-09-18', 79778 => '2016-01-10', 35236 => '2016-04-29', )

便利ですね。

参考:PHPのarray_columnが便利

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません