カテゴリ: PHP 更新日: 2025/10/13

PHPの多次元配列(ネスト配列)の使い方をやさしく解説!初心者向けガイド

PHP の多次元配列を扱う方法(ネストした配列)
PHP の多次元配列を扱う方法(ネストした配列)

先生と生徒の会話形式で理解しよう

生徒

「先生、PHPの配列って聞いたことあるんですが、“多次元配列”って何ですか?」

先生

「良い質問ですね。多次元配列とは、配列の中にさらに配列が入っている、いわゆる“入れ子(ネスト)”になった形の配列のことです。」

生徒

「入れ子って、箱の中に箱が入っているみたいな感じですか?」

先生

「まさにその通りです!それじゃあ実際にPHPで多次元配列の使い方を一緒に見ていきましょう!」

-

1. 多次元配列(ネスト配列)とは?

1. 多次元配列(ネスト配列)とは?
1. 多次元配列(ネスト配列)とは?

PHP(ピーエイチピー)でデータをまとめるときによく使うのが「配列」です。そして、「多次元配列」は、配列の中にさらに配列が入っている形のデータ構造です。たとえば、学校のクラスごとに生徒の名前をグループで管理したい場合などに使われます。

以下のように、配列の中に別の配列を入れることで、多次元配列が作れます。


$students = [
    "A組" => ["さくら", "たろう", "はなこ"],
    "B組" => ["けんた", "みさき", "ゆうじ"]
];

このように、"A組""B組"というキーに、それぞれのクラスの生徒をまとめた配列を入れています。

2. 多次元配列の中身を取り出す方法

2. 多次元配列の中身を取り出す方法
2. 多次元配列の中身を取り出す方法

多次元配列の中身を取り出すには、2つの鍵(キー)を使います。たとえば、A組の2人目の生徒(たろう)を取り出すには、次のように書きます。


echo $students["A組"][1];

[1]は、配列の2番目の要素を意味します(プログラミングでは数を0から数え始めます)。

実行結果は以下のようになります。


たろう

3. foreach文で多次元配列をループ処理する

3. foreach文で多次元配列をループ処理する
3. foreach文で多次元配列をループ処理する

PHPでは、繰り返し処理をするためにforeach(フォーイーチ)という命令を使います。多次元配列では、foreach2回ネストして使うことで、すべてのデータを取り出せます。


foreach ($students as $class => $names) {
    echo $class . "の生徒一覧:\n";
    foreach ($names as $name) {
        echo "- " . $name . "\n";
    }
}

このコードは、各クラスごとの生徒一覧を順番に表示します。出力は次のようになります。


A組の生徒一覧:
- さくら
- たろう
- はなこ
B組の生徒一覧:
- けんた
- みさき
- ゆうじ

4. 配列の構造を確認するprint_rとvar_dump

4. 配列の構造を確認するprint_rとvar_dump
4. 配列の構造を確認するprint_rとvar_dump

プログラムの途中で、配列の中身がどうなっているかを確認したいときは、print_r(プリントアール)やvar_dump(バーダンプ)という命令を使います。

print_rは見やすい形で配列を表示してくれます。


print_r($students);

var_dumpは、変数の型や値をより詳しく教えてくれます。


var_dump($students);

どちらもデバッグ(動作確認)にとても役立つPHPの機能です。

-

5. 多次元配列のよくある使い道

5. 多次元配列のよくある使い道
5. 多次元配列のよくある使い道

多次元配列は、次のような場面でよく使われます。

  • 表形式のデータを管理するとき(例:テーブル)
  • 商品のカテゴリごとの一覧を作るとき
  • ユーザー情報(名前・年齢・住所など)をまとめるとき

例えば、以下のように商品をカテゴリごとにまとめることもできます。


$items = [
    "飲み物" => [
        ["name" => "コーラ", "price" => 120],
        ["name" => "お茶", "price" => 100]
    ],
    "お菓子" => [
        ["name" => "チョコ", "price" => 150],
        ["name" => "ポテチ", "price" => 130]
    ]
];

このようにすれば、カテゴリごとに商品情報を整理して扱いやすくなります。

6. 多次元配列の注意点

6. 多次元配列の注意点
6. 多次元配列の注意点

多次元配列を使うときは、配列の階層(何重にもなっている構造)に注意しましょう。
間違ったキーを使うと、エラーになったりnull(何もない)が返ってくることがあります。

また、階層が深くなりすぎると、プログラムが読みにくくなるので、整理された構造を意識しましょう。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
PHPでセッションを使ってフォーム入力を保持する方法を解説!初心者向けステップバイステップ
Pythonで文字列をリストに変換する方法!split()とjoin()の使い方
Pythonの変数とは?定義方法とデータ型を初心者向けに解説
PHPでメールフォームを作る方法を徹底解説!初心者向けにmail関数とPHPMailerの使い方も紹介
人気記事
No.1
PHP&Python記事人気No1
Pythonでテキストファイルを1行ずつ読み込む方法(readline() / readlines())
No.2
PHP&Python記事人気No2
Pythonで文字列が数値か判定する方法!isdigit()・isnumeric()の違い
No.3
PHP&Python記事人気No3
Pythonのリストを辞書に変換する方法(dict() / zip())
No.4
PHP&Python記事人気No4
初心者向けにPHP でファイルを開く・読み込む・書き込む方法(fopen, fwrite, fread)を解説する記事
-