PHPでarray_columnを使う方法を現役エンジニアが解説【初心者向け】
初心者向けにPHPでarray_columnを使う方法について現役エンジニアが解説しています。PHPのarray_column()関数は、引数に渡した配列の中から、単一のカラムを取り出すための関数です。主にデータベースから取り出した多次元配列から、必要とする配列を取り出すために使われます。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,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を学んで未経験からWebエンジニアを目指す方法とは
実際に書いてみよう
それでは、実際に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では、初心者でも、PHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。