🙆‍♀️

PHP array_columnで新しい配列を簡単作成

2022/02/26に公開

はじめに

ある配列をもとに、新しい配列を作る際、foreachやwhile等を使うよりも、
array_columnで簡単に配列を作成するできる事を知り、実戦でも使ってみようと思い記録として残します。

array_column

入力配列から単一のカラムの値を返す
PHPマニュアルより

より簡素に説明していきます。

素材コード

$favorite = [
    [
        'id' => 1001,
        'title' => 'books',
    ],
    [
        'id' => 2002,
        'title' => 'sports',
    ],
    [
        'id' => 3003,
        'title' => 'games',
    ],
];

このような配列において、titleのみを新しく切り出して配列を作る場合、
foreachを使うと、

foreach ($favorite as $item){
  $array[] = $item['title'];
}

array_columnを使うと

$array = array_column($favorite, 'title');

上記で、titleのみ抽出した配列を作ることができる

出力結果

Array
(
    [0] => books
    [1] => sports
    [2] => games
)

また、idをキーにtitleをバリューにして新しい配列を作るときに
foreachを使うと、面倒くさい(割愛..)ですが、
array_columnを使うと

$array = array_column($favorite, 'id', 'title');

出力結果

Array
(
    [1001] => books
    [2002] => sports
    [3003] => games
)

さいごに

PHPマニュアルの配列、関数
には、数多くの配列に関するメソッドが載っています。実際の開発現場でよく使うものがあれば、再度記事として残していこうと思います。

Discussion