このような悩みをお持ちの方は、多いのではないでしょうか。プログラミングにおける「配列」は、変数をまとめて処理できるため、効率的なコーディングには欠かせない概念です。しかし、配列のルールや構文はプログラミング言語によってまちまちです。理解した上で使い分けないと、思わぬエラーを引き起こすこともあります。
この記事では、PHPの配列の基本構文や注意点、開発を効率化するための効果的な使い方などを解説します。この記事を読むことで、PHPの配列を自在に扱えるようになり、システム開発全体のスピードアップにつながります。
目次
配列とは、「変数の集まり」です。変数とはプログラミングにおいて「値を格納する箱」を指します。一つの変数には一つの値が格納されますが、この変数を複数扱えるようにしたものを配列と呼びます。
配列を一つ一つの箱を「要素」と呼び、各要素はキーと値で構成されます。なお、配列には通常の一次元配列のほかに、要素の中に要素を含む二次元(あるいは多次元)配列があります。
また、配列はPHPのデータ型の一つでもあります。PHPで扱うデータ型には配列型(array)のほかに、整数型(integer)、浮動小数点数型(float)、文字列型(string)、論理型(boolean)、オブジェクト型(object)などがあります。
PHPの配列には、インデックス配列と連想配列の2種類があります。インデックス配列は、キーに添え字と呼ばれる0から始まる整数を使用し、連想配列はキーに任意の文字列を使用します。PHPで配列を扱うには、基本的にはarray関数を使用します。例として、3つの要素を含む配列をそれぞれインデックス配列と連想配列で定義してみます。
$animals = array(‘ねこ’, ‘いぬ’, ‘ハムスター’);
$colors = array(‘red’ => ‘赤’, ‘blue’ => ‘青’, ‘yellow’ => ‘黃’); |
また、array関数の代わりに[ ]を用いて、短縮構文とすることもできます。
$animals = [ ‘ねこ’,’いぬ’, ‘ハムスター’, $colors = [ |
なお、配列の要素が少なく1行で記述する場合は、最終要素のあとのカンマ(,)は省略しても構いませんが、要素を改行して記述する場合は、あとから要素の追加が容易になるため、最後にカンマを付けておくことをおすすめします。
定義した配列の各要素にアクセスして値を取り出すには、インデックス配列の場合は添え字、連想配列の場合は文字列を指定します。それぞれ「ねこ」と「青」を出力してみましょう。なお、インデックス番号は0から始まることに注意してください。
echo $animals[0]. //出力結果:ねこ echo $colors[‘blue’]. |
配列の定義と呼び出しを理解したところで、ここからは配列を扱う上で欠かせない、基本的な操作例について解説します。いずれも、PHPでの開発を効率よく進めるために、必要な構文であるため、しっかりおさえておきましょう。
配列の初期化とは、要素数が0の空の配列を作成することです。具体的な要素が決まっていない場合や、一旦定義した要素をリセットする場合に使います。構文はarray関数もしくは[ ]を用いて以下のようになります。
//配列の初期化 ※結果はどちらも同じ $animals = array(); $animals = []; |
変数の情報を表示するvar_dump関数を使うと、要素が空であることが確認できます。
var_dump($animals); //出力結果:array(0) |
複数の配列を結合するには、array_merge、array_pushという2種類のメソッド、もしくは演算子を用います。
array_mergeは、複数の配列の要素をまとめて新しい配列として返すメソッドです。そのため、結合元の配列は影響を受けません。また、インデックス配列と連想配列では動作が異なります。
$animals1 = [ ‘ねこ’, ‘いぬ’, ‘ハムスター’, ]; $animals2 = [ ‘きつね’, ‘ひつじ’, ]; $animals3 = array_merge($animals1, $animals2); $cities1 = [ $cities3 = array_merge($cities1, $cities2); |
array_pushは、第1引数の配列の末尾に第2引数の要素を追加するメソッドです。第1引数に指定した配列が書き換えられることになります。
$animals1 = [ ‘ねこ’, ‘いぬ’, ‘ハムスター’, ]; $animals2 = [ ‘きつね’, ‘ひつじ’, ]; array_push($animals1, $animals2); $cities1 = [ array_push($cities1, $cities2); |
+演算子を使った結合では、同じ添字やキーがあった場合、上書きも追加もされません。
$animals1 = [ ‘ねこ’, ‘いぬ’, ‘ハムスター’, ]; $animals2 = [ ‘きつね’, ‘ひつじ’, ]; $animals1 + $animals2; $cities1 = [ $cities1 + $cities2; |
配列から要素を検索するには、array_search関数、もしくはin_array関数を使います。array_search関数は、検索対象の配列に指定したデータがある場合、インデックスキーを返してくれます。第1引数に調べたい値、第2引数に検索対象の配列を設定します。基本構文は以下のとおりです。
$animals = [‘ねこ’, ‘いぬ’, ‘ハムスター’];
$result1 = array_search(‘ハムスター’, $animals); |
in_array関数は、検索対象の配列に指定したデータがある場合はtrue、ない場合はfalseを返してくれます。引数はarray_search関数と同じで、第1引数に調べたい値、第2引数に検索対象の配列を設定します。基本構文は以下のとおりです。
$animals = [‘ねこ’, ‘いぬ’, ‘ハムスター’];
$result1 = in_array(‘ハムスター’, $animals); |
既存の文字列を指定の区切り文字によって配列に変換するには、explode関数を使います。第1引数に区切り文字、第2引数に配列に変換したい文字列を指定します。基本構文は以下のとおりです。
$arrayDayList = explode (‘/’, ‘2022/04/13’); //$arrayDayList:[‘2022′, ’04’, ’13’] //区切り文字に指定した「/」によって、文字列が分割され、配列の要素として格納される |
ここまで、PHPにおける配列の基本的な構文についてお伝えしてきました。これらの構文を使いこなすだけでも、PHPの開発効率は飛躍的に向上します。ただし、PHPの配列に関する関数やメソッドは他にも多く存在し、すべてを独学で網羅するのは、容易ではありません。
PHPの配列や分岐処理、条件文などの基本構文から、応用的な使い方までを効率的に学ぶには、プログラミングスクールの活用をおすすめします。
スクール名 | CodeCamp |
コース | Webマスターコース |
受講形式 | オンライン型(マンツーマン) |
受講期間 | 2ヶ月、4ヶ月、6ヶ月 |
受講料 | 165,000 円(2ヶ月)~330,000円(6ヶ月) (税込) ※分割払い可 ※別途入学金33,000円(税込) |
特徴 | ・家庭教師感覚のマンツーマンレッスン ・開講時間が長い ・目的に合わせたコース |
CodeCampは、マンツーマン指導の完全オンラインプログラミングスクールです。「自分でアプリを作ってみたい」「Webエンジニアとして転職したい」といった目的に合わせたコースが用意されていることが特徴です。また、7時から23時40分までと、非常に長い時間帯で受講できるので、日中に受講する時間が取れない社会人の方におすすめです。
スクール名 | TechAcademy |
コース | WordPressコース |
受講形式 | オンライン型 |
受講期間 | 4週間、8週間、12週間、16週間 |
受講料 | 174,900円(4週間)~339,900円(16週間) (税込) ※分割払い可 ※社会人の料金 |
特徴 | ・コースの種類が豊富 ・週2回のメンタリング ・転職サポート |
TechAcademyは、完全オンラインのプログラミングスクールです。副業向け、転職向け、ゲームアプリ制作など、豊富な種類のコースから目的に合ったものを選ぶことができます。週2回の専属メンターによる相談も受けられ、受講修了後の転職サポートも充実。幅広いスキルを効率的に習得して転職につなげたい方におすすめです。
スクール名 | SAMURAI ENGINEER |
コース | 転職保証コース |
受講形式 | オンライン型 |
受講期間 | 16週間、24週間 |
受講料 | 495,000円(16週間)~781,000円(24週間) (税込) ※分割払い可 ※別途入学金99,000円 |
特徴 | ・専属講師によるマンツーマンレッスン ・オーダーメイドカリキュラム ・転職率98% |
SAMURAI ENGINEERは、マンツーマンレッスンが売りのオンラインプログラミングスクールです。最初のカウンセリングでヒアリングした内容をもとに、一人一人のスキルや目標に合わせたオリジナルのカリキュラムを作成してくれます。
専属の講師や、学習コーチによるサポートも受けられるため、学習につまずきにくい仕組みが整えられています。自分にフィットしたカリキュラムで学びたいという方におすすめです。
スクール名 | tech boost |
コース | ブーストコース |
受講形式 | オンライン / 通学型 |
受講期間 | 3ヶ月、6ヶ月。12ヶ月 |
受講料 | 入学金:219,780円(税込) ※Javaは408,320円(税込) ※一括のみ 月額:32,780円(税込) メンタリング:34,760(月4回)~69,520円(月8回) (税込) 教室利用:22,000円/月(税込) |
特徴 | ・教室で仲間と学べる ・オリジナルのWebアプリ制作 ・メンターは全員、現役エンジニア |
tech boostは、現役エンジニアによるレッスンが受けられるプログラミングスクールです。オンライン受講を基本としながらも、渋谷校なら仲間と一緒に教室で受講することもできます。
ポートフォリオとして、企業に見せることができるオリジナルのWebアプリを作成できるのも魅力。運営会社であるBranding Engineerはエンジニアに特化したキャリアサービスを展開しているため、フリーランスエンジニアとして活躍したい方におすすめです。
スクール名 | DMM WEBCAMP |
コース | 短期集中コース |
受講形式 | オンライン / 通学型 |
受講期間 | 3ヶ月 |
受講料 | 690,800円(税込) ※分割払い可 |
特徴 | ・未経験者に特化したカリキュラム ・メンターに質問し放題 ・転職サポートが充実 |
DMM WEBCAMPは、転職サポートが手厚いプログラミングスクールです。DMMグループの豊富なネットワークを活かして、専属のアドバイザーによる転職サポートが受けられます。カリキュラムは未経験者用に組まれているため、安心して学習を進められます。未経験から確実に転職したい方におすすめです。
配列というデータ型はPHPだけでなく、様々なプログラミング言語に存在し、習得必須の概念と言えます。抽象的でイメージが湧きにくいため、初心者が学習し始めで最初につまづきやすい部分でもあります。だからこそ、わからないままにせず、本記事を参考に基本の構文はおさえておきましょう。
また、配列に限らず、PHPの学習を進める上で不安要素がある場合は、最後にご紹介したプログラミングスクールの中から、ご自身に合ったスクールを探してみましょう。
2024.06.17
子供におすすめのプログラミングスクール10選!学習メリットや教室選びのコツも紹介
#プログラミングスクール
2022.01.06
【完全版】大学生におすすめのプログラミングスクール13選!選ぶコツも詳しく解説
#プログラミングスクール
2024.01.26
【未経験でも転職可】30代におすすめプログラミングスクール8選!
#プログラミングスクール
2024.01.26
初心者必見!独学のJava学習方法とおすすめ本、アプリを詳しく解説
#JAVA
2024.01.26
忙しい社会人におすすめプログラミングスクール15選!失敗しない選び方も詳しく解説
#プログラミングスクール
2022.01.06
【無料あり】大阪のおすすめプログラミングスクール14選!スクール選びのコツも紹介
#プログラミングスクール
2024.01.26
【目的別】東京のおすすめプログラミングスクール20選!スクール選びのコツも徹底解説
#プログラミングスクール
2024.01.26
【無料あり】福岡のおすすめプログラミングスクール13選!選び方も詳しく解説
#プログラミングスクール
2024.01.26
【徹底比較】名古屋のおすすめプログラミングスクール13選!選び方も詳しく解説
#プログラミングスクール
2024.01.26
【徹底比較】おすすめのプログラミングスクール18選!失敗しない選び方も徹底解説
#プログラミングスクール