PHP

【重要】PHP 二次元配列をシンプルにざっくり解説

簡単にいうと、、

配列の中に、配列を入れるのが二次元配列

です!!

二次元配列をを自由に扱うことができると、今よりプログラミングが楽しくなりますよ!!

念の為、配列に関するPHPマニュアルのリンクもおいておきます。

サンプルコード上に出てくるvar_dumpの使い方はこちらの記事を参考にしてください!

【PHP初学者向け】var_dump()ってなに? あけお スクールに多額のお金を支払う前に、僕の記事で学習してみてね!! こんな人に読んでほしい 「var_dump(...

また、配列の基礎がわかっていないと、この記事は難しく感じてしまうかもです。。。

この記事でも順に復習しながら進みますが、不安な方は先にこちらを理解してから学習することをオススメします!!

https://akeoblog.com/array/

1. まずは普通の配列

復習も兼ねてシンプルなコードから!!

<?php
$mojiChild1 = ["あ", "い", "う", "え", "お"];

var_dump($mojiChild1);
このコードの実行結果はこちら
array(5) {
  [0]=>
  string(3) "あ"
  [1]=>
  string(3) "い"
  [2]=>
  string(3) "う"
  [3]=>
  string(3) "え"
  [4]=>
  string(3) "お"
}

これが理解できるなら下のコードも理解できるはず!

<?php
$mojiChild1 = ["あ", "い", "う", "え", "お"];
$mojiChild2 = ["か", "き", "く", "け", "こ"];
$mojiChild3 = ["さ", "し", "す", "せ", "そ"];

var_dump($mojiChild1);
var_dump($mojiChild2);
var_dump($mojiChild3);
このコードの実行結果はこちら
array(5) {
  [0]=>
  string(3) "あ"
  [1]=>
  string(3) "い"
  [2]=>
  string(3) "う"
  [3]=>
  string(3) "え"
  [4]=>
  string(3) "お"
}
array(5) {
  [0]=>
  string(3) "か"
  [1]=>
  string(3) "き"
  [2]=>
  string(3) "く"
  [3]=>
  string(3) "け"
  [4]=>
  string(3) "こ"
}
array(5) {
  [0]=>
  string(3) "さ"
  [1]=>
  string(3) "し"
  [2]=>
  string(3) "す"
  [3]=>
  string(3) "せ"
  [4]=>
  string(3) "そ"
}

3つの配列を用意しました!!本番はここから!!^^

2. ここからが本番!二次元配列の構造

配列の中に、配列を入れるのが二次元配列!!

Childの配列をParent配列に入れます

<?php
$mojiChild1 = ["あ", "い", "う", "え", "お"];
$mojiChild2 = ["か", "き", "く", "け", "こ"];
$mojiChild3 = ["さ", "し", "す", "せ", "そ"];

$mojiParent = [$mojiChild1, $mojiChild2, $mojiChild3];

var_dump($mojiChild1);
このコードの実行結果はこちら
array(3) {
  [0]=>
  array(5) {
    [0]=>
    string(3) "あ"
    [1]=>
    string(3) "い"
    [2]=>
    string(3) "う"
    [3]=>
    string(3) "え"
    [4]=>
    string(3) "お"
  }
  [1]=>
  array(5) {
    [0]=>
    string(3) "か"
    [1]=>
    string(3) "き"
    [2]=>
    string(3) "く"
    [3]=>
    string(3) "け"
    [4]=>
    string(3) "こ"
  }
  [2]=>
  array(5) {
    [0]=>
    string(3) "さ"
    [1]=>
    string(3) "し"
    [2]=>
    string(3) "す"
    [3]=>
    string(3) "せ"
    [4]=>
    string(3) "そ"
  }
}

$mojiParent配列には3つの要素($mojiChild1,$mojiChild2,$mojiChild3)が入っています!

0番目には$mojiChild1

1番目には$mojiChild2

2番目には$mojiChild3

3. 二次元配列の出力方法

このように書けば、$mojiChild1を出力できます。

<?php
$mojiChild1 = ["あ", "い", "う", "え", "お"];
$mojiChild2 = ["か", "き", "く", "け", "こ"];
$mojiChild3 = ["さ", "し", "す", "せ", "そ"];

$mojiParent = [$mojiChild1, $mojiChild2, $mojiChild3];

var_dump($mojiParent[0]);
このコードの実行結果はこちら
array(5) {
  [0]=>
  string(3) "あ"
  [1]=>
  string(3) "い"
  [2]=>
  string(3) "う"
  [3]=>
  string(3) "え"
  [4]=>
  string(3) "お"
}

$mojiChild1配列の中に入っている「あ」という文字だけ出力するには??

<?php
$mojiChild1 = ["あ", "い", "う", "え", "お"];
$mojiChild2 = ["か", "き", "く", "け", "こ"];
$mojiChild3 = ["さ", "し", "す", "せ", "そ"];

$mojiParent = [$mojiChild1, $mojiChild2, $mojiChild3];

var_dump($mojiParent[0][0]);
このコードの実行結果はこちら
string(3) "あ"

$mojiParent[][]という形で、配列の入れ子を表現しているんですね!