【PHP】Lesson4-1:配列の基本を理解しよう

一つ前のレッスンでは 関数の基本と応用 について学習しました。
今回は 配列の基本 について見ていきましょう。
Lesson1:基礎文法編
Lesson2:制御構造編
Lesson3:関数編
Lesson4:データ構造編
・Lesson4-1:配列の基本を理解しよう ◁今回はココ
・Lesson4-2:キーが文字列の配列を理解しよう
・Lesson4-3:配列の要素を追加/削除しよう
・Lesson4-4:配列を調査しよう
・Lesson4-5:配列を操作しよう
・Lesson4-6:配列を並び替えよう
・Lesson4-7:配列の多次元化を理解しよう
・確認問題4-1:ナインゲームを作ろう
・確認問題4-2:宝探しゲームを作ろう
・確認問題4-3:マルバツゲームを作ろう
Lesson5:クラス編
配列入門|定義・操作・使い方の基本を徹底解説
PHPでデータをまとめて扱うために欠かせないのが「配列」です。
配列を使うことで、複数の値をひとつの変数にまとめて管理したり、必要なデータを簡単に取り出したり、柔軟なデータ操作ができるようになります。
本記事では、配列の基本的な定義方法から、要素の追加や取り出し方、インデックスの操作、配列の中身を確認する方法まで、初心者にもわかりやすく解説します。
配列の使い方をマスターすれば、実践的なPHPプログラムの幅がぐんと広がります。さっそく本文で、配列の基本を身につけていきましょう!

配列とは何か?|複数のデータを効率よく扱う基本構造
配列は一つの変数で複数の値を管理するデータ構造です。たとえばユーザー名のリストや商品の価格一覧を管理したい場合に便利です。
配列には以下のような特徴があります。
- 複数の値を「インデックス」(番号)で管理する。
- 値にアクセスする際に、インデックスを指定して操作する。
- 連続的なデータを効率的に扱える。
PHPでは配列は柔軟なデータ構造で、インデックスには数値も文字列も使用可能ですが、本記事では数値インデックスを扱います。
PHPでは配列を以下のように宣言します。
// 配列の宣言
$変数 = ["要素1", "要素2", "要素3"]; // 3つ要素を持つ配列を定義し、変数に代入
// 推奨されない定義方法
$変数 = array("要素1", "要素2", "要素3"); // 古い書き方短縮構文である[]を使う方法とarray()関数を使う方法がありますが、現在は短縮構文が推奨されています。
実際に配列を作成する例は以下の通りです。
$fruits = ["Apple", "Banana", "Cherry"]; // リンゴ、バナナ、チェリーの3つの文字列を配列とし、変数$fruitsに代入 $numbers = [1, 3, 5, 7, 9] // 5つの奇数を配列とし、変数$numbersに代入
配列操作の基本|要素の取得・書き換え・追加方法を学ぼう
配列の要素はインデックスを用いて取得・修正することができます。
インデックスとは配列や文字列の要素に先頭から付けた番号のことであり、0から始まります。
要素の出力方法|インデックスで値を取得する
配列を格納した変数に直接インデックスを指定することで、要素を取り出すことができます。
<?php $fruits = ["Apple", "Banana", "Cherry"]; // インデックスを指定して取り出し echo $fruits[2] . PHP_EOL; // 出力: Cherry echo $fruits[1] . PHP_EOL; // 出力: Banana echo $fruits[0] . PHP_EOL; // 出力: Apple
このコードを実行すると以下のように出力されます。
Cherry Banana Apple
要素の書き換え方法|配列の値を変更するには?
配列の特定の値を変更する際にも、インデックスを指定します。
<?php $fruits = ["Apple", "Banana", "Cherry"]; $fruits[1] = "Blueberry"; // 要素の修正 var_dump($fruits); // 配列の中身を確認
var_dump関数 は変数の内容を詳しく表示します。配列のインデックスやデータ型も確認できるため初心者には便利なツールです。
このコードを実行すると、以下のように出力されます。
array(3) {
[0]=>
string(5) "Apple"
[1]=>
string(9) "Blueberry"
[2]=>
string(6) "Cherry"
}配列への要素追加|末尾に値を追加する方法とは?
配列の末尾に新しい要素を追加するには[]を使います。
<?php $fruits = ["りんご", "ばなな", "チェリー"]; $fruits[] = "パイナップル"; // 配列末尾に新しい要素を追加 var_dump($fruits); // 配列の中身を確認
このコードを実行すると以下のように出力されます。
array(4) {
[0]=>
string(9) "りんご"
[1]=>
string(9) "ばなな"
[2]=>
string(12) "チェリー"
[3]=>
string(18) "パイナップル"
}まとめ|配列の基本をしっかり理解しよう
この記事では、PHPにおける配列の基本について、定義方法から要素の取り出し・修正・追加方法まで丁寧に解説しました。
配列を使いこなせるようになることで、複数のデータを効率よく管理・操作できるようになり、より実践的なプログラムが作れるようになります。
今回学んだ内容を活用して、配列を自在に扱える力を身につけ、次のステップでも着実にスキルアップを目指しましょう!
演習問題|配列の基本操作を身につけよう

PHPで配列を使って複数のデータを管理・操作するプログラムを作成しましょう。
配列の宣言、要素の修正、要素の追加、配列全体の出力を行うことで、配列の基本的な操作を学びます。
この演習の要件
以下の要件に従ってコードを完成させてください。
fruitsという名前の配列を宣言し、最初に以下の3つの果物の名前を格納すること。- りんご
- バナナ
- さくらんぼ
- 配列の全体を表示し、配列の中身を確認すること。
- 配列の1番目の要素(インデックス0)を出力すること。
- 配列の2番目の要素(インデックス1)を「ブルーベリー」に修正すること。
- 修正後の配列の2番目の要素を出力すること。
- 配列の末尾に「ぶどう」を追加すること。
- 配列の全体を再度表示し、追加された要素を確認すること。
- 配列の全ての要素を1つずつ順番に表示すること。ループ処理を使用すること(
forを使用)。
ただし、以下のような実行結果となること。
array(3) {
[ 0]=>
string(9) "りんご"
[ 1]=>
string(9) "バナナ"
[ 2]=>
string(15) "さくらんぼ"
}
配列の1番目の要素は: りんご
変更後の2番目の要素は: ブルーベリー
配列の末尾に追加後:
array(4) {
[ 0]=>
string(9) "りんご"
[ 1]=>
string(15) "ブルーベリー"
[ 2]=>
string(15) "さくらんぼ"
[ 3]=>
string(9) "ぶどう"
}
配列の中身を順に表示:
りんご
ブルーベリー
さくらんぼ
ぶどう解き方のヒント
1からコードを組み立てることが難しい場合は、以下のヒントを開いて参考にしましょう。
- ヒント1【コードの構成を見る】
-
正解のコードは上から順に以下のような構成となっています。
(※下記の□はコード内のインデントを表しています)1:配列を宣言し、変数
$fruitsに代入
2:配列$fruitsの内容をvar_dump関数を使って出力
3:「配列の1番目の要素は: 」を出力し、配列の最初の要素を連結して出力
4:配列$fruitsの2番目の要素を修正
5:「変更後の2番目の要素は: 」を出力し、修正された配列の要素を連結して出力
6:配列$fruitsの末尾に新しい要素「ぶどう」を追加
7:「配列の末尾に追加後: 」を出力し、var_dump関数で配列の内容を出力
8:「配列の中身を順に表示: 」を出力
9:for文を使って配列$fruitsの全ての要素を順に出力
- ヒント2【穴埋め問題にする】
-
以下のコードをコピーし、コメントに従ってコードを完成させて下さい。
<?php // 配列を宣言します(基本構文) /*【穴埋め問題1】 ここに配列を宣言し、変数$fruitsに初期値として複数の値を格納するコードを書いてください。 */ // 配列の中身を出力します // var_dump は、変数の型や内容を表示するための関数です /*【穴埋め問題2】 ここにvar_dump関数を使って配列の内容を出力するコードを書いてください。 */ // 配列の要素を取り出します /*【穴埋め問題3】 ここにecho文を使って、配列の1番目の要素を表示するコードを書いてください。 */ // 配列の要素を修正します /*【穴埋め問題4】 ここに配列の2番目の要素を修正するコードを書いてください。 */ echo "変更後の2番目の要素は: " . $fruits[ 1] . PHP_EOL; // 配列の末尾に新しい要素を追加します /*【穴埋め問題5】 ここに配列の末尾に新しい要素を追加するコードを書いてください。 */ echo "配列の末尾に追加後: " . PHP_EOL; /*【穴埋め問題6】 ここにvar_dump関数を使って、配列の内容を出力するコードを書いてください。 */ // 配列の全ての要素を順に表示します(for文を使用) echo "配列の中身を順に表示: " . PHP_EOL; /*【穴埋め問題7】 ここにfor文を使って、配列の全要素を順に表示するコードを書いてください。 */
このヒントを見てもまだ回答を導き出すのが難しいと感じる場合は、先に正解のコードと解説を見て内容を理解するようにしましょう。
演習問題の答え合わせ
この問題の正解コードとその解説は以下の通りです。
クリックして開いて確認してください。
- 正解コード
-
<?php // 配列を宣言します(基本構文) $fruits = ["りんご", "バナナ", "さくらんぼ"]; // 配列には複数の値を格納できます // 配列の中身を出力します // var_dump は、変数の型や内容を表示するための関数です var_dump($fruits); // 配列の要素を取り出します echo "配列の1番目の要素は: " . $fruits[ 0] . PHP_EOL; // 配列の最初の要素にアクセス // 配列の要素を修正します $fruits[ 1] = "ブルーベリー"; // 配列の2番目の要素を変更 echo "変更後の2番目の要素は: " . $fruits[ 1] . PHP_EOL; // 配列の末尾に新しい要素を追加します $fruits[] = "ぶどう"; // 末尾に要素を追加 echo "配列の末尾に追加後: " . PHP_EOL; var_dump($fruits); // 配列の全ての要素を順に表示します(for文を使用) echo "配列の中身を順に表示: " . PHP_EOL; for ($i = 0; $i < count($fruits); $i++) { // count() で配列の要素数を取得 echo $fruits[$i] . PHP_EOL; // インデックスで要素を取り出す }
- 正解コードの解説
-
コードをブロックごとに分割して解説します。
配列の宣言
$fruits = ["りんご", "バナナ", "さくらんぼ"];
- 説明:
$fruitsという名前の配列を宣言し、最初に「りんご」「バナナ」「さくらんぼ」の3つの値を格納しています。 - ポイント: 配列は
[]またはarray()で作成できます。[]はモダンな書き方で推奨されています。
配列の中身を確認
var_dump($fruits);
説明:
var_dumpは変数の詳細(型と値)を表示するPHPのビルトイン関数です。配列の要素を取り出す
echo "配列の1番目の要素は: " . $fruits[ 0] . PHP_EOL;
- 説明:
$fruits[0]は、配列の1番目(インデックス0)の要素を取り出します。PHPではインデックスは0から始まります。 - ポイント:
.は文字列を連結するために使用されます。出力の最後にPHP_EOLを加えることで改行を挿入します。
配列の要素を修正する
$fruits[ 1] = "ブルーベリー"; echo "変更後の2番目の要素は: " . $fruits[ 1] . PHP_EOL;
- 説明:
$fruits[ 1](2番目の要素)を「ブルーベリー」に変更しています。その後、変更された要素を出力しています。 - ポイント: 配列の要素はインデックスを指定することで、簡単に値を変更できます。
配列の末尾に要素を追加する
$fruits[] = "ぶどう"; var_dump($fruits);
- 説明:
$fruits[] = "ぶどう";は、配列の末尾に「ぶどう」を追加しています。 - ポイント: インデックスを指定しないで
[]を使うと、新しい要素が自動的に追加されます。
配列の全要素を順に表示する
for ($i = 0; $i < count($fruits); $i++) { echo $fruits[$i] . PHP_EOL; }- 説明:
forループを使って、配列の全ての要素を順番に表示しています。count($fruits)は配列の要素数を取得します。$fruits[$i]でインデックス$iに対応する要素を取り出します。
- ポイント: 配列を扱う際には
forループやcount関数を組み合わせて全要素にアクセスします。
- 説明:


