array_column

Posted by muchag | PHP | 2016-01-13 (水) 21:51:59

array_column は、連想配列群の中から、単一カラムを取り出して配列で返してくれる。

【環境】
PHP: 5.4.7
内容

レコードセットのように、同型の連想配列が連番で格納されているような配列において
各レコードから特定のカラムの値だけを抽出する。

書式

array array_column ( array $input , mixed $column_key [, mixed $index_key = null ] )

php:array_column

第1引数:元配列
第2引数:抽出したいカラム名
第3引数:抽出後キーにしたいカラム名。省略可

  1. $users = Array(
  2.     0 => Array(
  3.         'id' => 'user001',
  4.         'name' => 'tanaka',
  5.     },
  6.     1 => Array(
  7.         'id' => 'user002',
  8.         'name' => 'suzuki',
  9.     },
  10.     2 => Array(
  11.         'id' => 'user003',
  12.         'name' => 'yamada',
  13.     },
  14. );
  15.  
  16. $names = array_column($users, 'name');
  17. print_r($names);
  18.  
  19. // 出力結果
  20. Array(
  21.     0 => 'tanaka',
  22.     1 => 'suzuki',
  23.     2 => 'yamada',
  24. );
  25.  
  26. $names = array_column($users, 'name', 'id');
  27. print_r($names);
  28.  
  29. // 出力結果
  30. Array(
  31.     'user001' => 'tanaka',
  32.     'user002' => 'suzuki',
  33.     'user003' => 'yamada',
  34. );
あれ?

PHP 5.5 から新しく加わった関数。

残念!
私は 5.4.7 だった><

代替

がっかりポンだ~と思っていたら
代替というか、GitHub:array_column/src/array_column.php で関数が提供されていた。
ありがとうございます!

ファイルに保存して、インクルードパスへ配置して
require して、見事動作しました♪

PHP | 2016-01-13 (水) 21:51:59 |

コメントはまだありません »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment