PHPでarray_columnを使う方法を現役エンジニアが解説【初心者向け】

初心者向けにPHPでarray_columnを使う方法について現役エンジニアが解説しています。PHPのarray_column()関数は、引数に渡した配列の中から、単一のカラムを取り出すための関数です。主にデータベースから取り出した多次元配列から、必要とする配列を取り出すために使われます。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が2,000以上あります。

今回は、PHPでarray_columnを使う方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

PHPについてそもそもよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、PHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPでarray_columnを使う方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

array_columnとは

PHPのarray_column()関数は、引数に渡した配列の中から、単一のカラムを取り出すための関数です。

この関数は、主にDBから取得した値を、「カラム名 => 値」の形で保管する、多次元の連想配列を対象に使用する関数です。
 

array_columnを使う方法

array_column()関数の基本的な使い方は、以下の通りです。

array_column ( $配列 , $取り出すカラム名 [, $インデックスに指定するカラム名] )

第一引数には、取り出すカラム名とデータを含む配列を渡します。第二引数には、取り出すカラム名の文字列を渡します。

第三引数には、オプションで、取り出したカラム名のキー名となるカラム名を文字列で渡せます。デフォルトでは、null値を渡しています。

これらの引数を渡した結果、第一引数で渡した配列の中から第二引数に渡したカラム名の文字列を探し出します。そのカラム名に対する値のみを抽出し、配列として返却します。
 

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

実際に書いてみよう

それでは、実際にarray_column()関数を使用した例を見てみましょう。

<?php
$rows = [
    0 => [ 'id' => 10, 'language' => 'PHP', 'framework' => 'Laravel'],
    1 => [ 'id' => 20, 'language' => 'Java', 'framework' => 'Spring'],
    2 => [ 'id' => 30, 'language' => 'JavaScript', 'framework' => 'Vue.js' ],
    3 => [ 'id' => 40, 'language' => 'Ruby', 'framework' => 'Ruby on Rails' ]
];
print_r(array_column($rows, 'language'));

 

出力結果

Array
(
  [0] => PHP
  [1] => Java
  [2] => JavaScript
  [3] => Ruby
)

上記の例は、DBから取得した値を、多次元の連想配列に保管した場合の例です。

array_column()関数に多次元配列$rowsとカラム名’language’を渡すことで、$rowsの中の配列からカラム名が’language’の値だけを配列にして返却していることが確認できます。

<?php
$rows = [
    0 => [ 'id' => 10, 'language' => 'PHP', 'framework' => 'Laravel'],
    1 => [ 'id' => 20, 'language' => 'Java', 'framework' => 'Spring'],
    2 => [ 'id' => 30, 'language' => 'JavaScript', 'framework' => 'Vue.js' ],
    3 => [ 'id' => 40, 'language' => 'Ruby', 'framework' => 'Ruby on Rails' ]
];
print_r(array_column($rows, 'framework', 'language'));

 

出力結果

Array (
  [PHP] => Laravel
  [Java] => Spring
  [JavaScript] => Vue.js
  [Ruby] => Ruby on Rails
)

上記の例は、オプションとして第三引数にインデックスとなるカラム名を指定しています。

array_column()関数を利用することで、DBから取得した値を用意に加工できます。
 

筆者プロフィール

平野大輝(ひらのだいき)

スキル:PHP・Java・JavaScriptを用いて様々なアプリを開発するWebエンジニア。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、PHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。