デジタルトレンドナビ
システム開発

2024.06.03

array_column関数:配列から特定のカラムを簡単に抽出

array_column関数:配列から特定のカラムを簡単に抽出

array_columnはPHPで配列操作を行う際に非常に便利な関数です。この関数は、入力された多次元配列(通常はデータベースの結果セットやフォームの送信データなど)から、指定した単一の列の値を取り出して、新しい配列を生成します。


この記事では、array_column関数の使い方と、実際のプログラミングにおけるその応用例を初心者向けにわかりやすく解説します。これにより、データの抽出や処理が効率的に、簡単に行えるようになります。

この記事でわかること

  • array_columnの基本
  • 関数のパラメータ
  • 基本的な使い方
  • 応用例
  • index_keyの活用

array_columnとは

array_columnとは

array_columnとは、PHPにおいて多次元配列から一つの列のデータを抽出し、新たな配列を作成する関数です。この関数は、配列の中から特定のキーに対応する値だけを取り出して新しい数値インデックスの配列を生成します。例えば、ユーザーデータが配列として格納されている場合、array_columnを使用してすべてのユーザーの「名前」や「メールアドレス」のみを抽出することができます。この関数は、データセットから必要な情報だけを簡単にフィルタリングする際に非常に役立ちます。

array_column関数の基本的な使い方

array_column関数の基本的な使い方

array_column()関数は、以下の形式で使用します。

PHP
array_column(array $input, mixed $column_key, mixed $index_key = null);
  • $input: 抽出対象の配列
  • $column_key: 抽出したいカラムのキー名またはインデックス番号
  • $index_key: 新しい配列のキーとなるカラムのキー名またはインデックス番号(省略可)

以下の例では、$data配列からnameカラムの値だけを新しい配列に抽出します。

PHP
$data = array(
array(‘id’ => 1, ‘name’ => ‘田中太郎’, ‘age’ => 30),
array(‘id’ => 2, ‘name’ => ‘佐藤花子’, ‘age’ => 25),
array(‘id’ => 3, ‘name’ => ‘鈴木一郎’, ‘age’ => 40),
);

$names = array_column($data, ‘name’);

var_dump($names);

このコードを実行すると、以下の出力が得られます。

array(3) {
[0] => string(6) “田中太郎”
[1] => string(6) “佐藤花子”
[2] => string(6) “鈴木一郎”
}

index_keyオプションの使用

index_keyオプションの使用

$index_keyオプションを使用すると、新しい配列のキーを指定することができます。

以下の例では、$data配列からidカラムをキーとして、nameカラムの値を新しい配列に抽出します。

PHP
$data = array(
array(‘id’ => 1, ‘name’ => ‘田中太郎’, ‘age’ => 30),
array(‘id’ => 2, ‘name’ => ‘佐藤花子’, ‘age’ => 25),
array(‘id’ => 3, ‘name’ => ‘鈴木一郎’, ‘age’ => 40),
);

$namesById = array_column($data, ‘name’, ‘id’);

var_dump($namesById);

このコードを実行すると、以下の出力が得られます。

array(3) {
[1] => string(6) “田中太郎”
[2] => string(6) “佐藤花子”
[3] => string(6) “鈴木一郎”
}

array_column関数の応用例

array_column関数の応用例

array_column()関数は、様々な場面で活用することができます。

  • データベースから取得したレコードから特定の列を抽出
  • 連想配列から値を抽出
  • 行と列を入れ替える

まとめ

まとめ

array_columnは、PHPで複数の配列から特定のカラムを抽出する非常に便利な関数です。この記事では、array_column関数の基本的な使い方から、応用例までを初心者向けに解説しました。この関数を使用することで、データの抽出が非常に簡単になり、データベースの結果やフォームからのデータなど、様々なシナリオで役立ちますので、ぜひ習得しましょう。

投稿者

  • デジタルトレンドナビ編集部

    システム開発、Webサイト制作、ECサイトの構築・運用、デジタルトランスフォーメーション(DX)など、デジタルビジネスに関わる多岐の領域において、最新のトレンド情報や実践的なノウハウを発信してまいります。