Work Life Fun

仕事も人生も楽しむ社労士

PHPで連想配列から特定キーの配列を取り出すarray_column

※当サイトはリンクに広告ページが含まれている場合があります

PHPで連想配列の配列から特定キーの配列を取り出す - array_column」の冒頭にも書いていますが、

「まさかそんな便利なメソッドないだろ〜」と思って調べていたらありました😲 PHPすごい!

ループを回して取り出すしかないと思っていたので、array_columnを知ったときは心底感激しました。

単一のカラムを配列として取り出す

以下のような連想配列から一発で単一のカラムを取り出すことができます。

$users = [
    [
        'id' => 2135,
        'first_name' => 'John',
        'last_name' => 'Doe',
        'age' => 28
    ],
    [
        'id' => 3245,
        'first_name' => 'Sally',
        'last_name' => 'Smith',
        'age' => 22
    ],
    [
        'id' => 5342,
        'first_name' => 'Jane',
        'last_name' => 'Jones',
        'age' => 42
    ]
];

使うのは「array_column」、第1引数に配列、第2引数にキーを指定します。

$name_list = array_column( $users, 'first_name' );

// 結果
print_r( $name_list );

Array
(
    [0] => John
    [1] => Sally
    [2] => Jane
)

連想配列として取り出す

first_nameをキー(key)に、ageを値(value)とした連想配列を取り出すときは、

  • 第1引数に配列
  • 第2引数に値(value)
  • 第3引数にキー(key)

を指定します。勝手な感覚ですが、キーと値の順序を逆にしてしまいそうなので、この点は注意が必要です。

$name_list = array_column( $users, 'age', 'first_name' );

// 結果
print_r( $name_list );

Array
(
    [John] => 28
    [Sally] => 22
    [Jane] => 42
)

参考:【PHP】array_column関数を覚える

【無料】効率的に人事労務の情報を入手しませんか?
  • 毎年のように改正される労働法令への対応に頭を悩ませている
  • 総務や経理などの他の業務を兼務しているので、人事労務業務だけに時間を割けない

といった悩みを抱える企業の経営者・人事労務担当者向けに、公開型のブログでは書けない、本音を交えた人事労務に関する情報・ノウハウ、時期的なトピックに関するメールマガジンを「無料」で配信しています。

過去の配信分は公開しません。

情報が必要な方は、いますぐ以下のフォームから購読の登録をしてください。購読して不要と思ったら簡単に解除できますのでご安心ください。


up_line