BLOG

連想配列から特定の値を取得して配列にいれちゃうってやつ

| PHP

wordpressでget_postsで取得したデータのidだけ取得したいなぁとか
term_idだけほしいなぁとかっていうのが結構あったりします。

いままではforeachとか使ってループさせて取得してそれを配列に打ち込むってことをしてたりしましたが、
簡単にできるってことがわかりました。
ってことでそれのメモ

$ary = array(
  array('id'=>1,  'name'=>'太郎',   'age'=>20, 'rank'=>'A'),
  array('id'=>5,  'name'=>'花子',   'age'=>52, 'rank'=>'C'),
  array('id'=>35, 'name'=>'ジョン', 'age'=>6,  'rank'=>'D'),
  array('id'=>20, 'name'=>'ケン',    'age'=>31, 'rank'=>'S'),
  array('id'=>11, 'name'=>'三太夫',  'age'=>79, 'rank'=>'A'),
);

$aryという配列があったとしてそこからidだけ取得して配列として打ち込む場合は

$ary_id = array_column($ary, 'id'); // idだけ取得して配列にする

// 出力
array(5) {
  [0] => int(1),
  [1] => int(5),
  [2] => int(35),
  [3] => int(20),
  [4] => int(11)
}

array_columnをつかって、配列とキーを指定すると、指定したキーを抜き出して配列にいれてくれるということです。
post_idを取得したり、term_idを取得したりとこれで便利になりますねー

PAGE TOP