簡単にいうと、、
配列の中に、配列を入れるのが二次元配列
です!!
二次元配列をを自由に扱うことができると、今よりプログラミングが楽しくなりますよ!!
念の為、配列に関するPHPマニュアルのリンクもおいておきます。
サンプルコード上に出てくるvar_dumpの使い方はこちらの記事を参考にしてください!
https://akeoblog.com/vardump/また、配列の基礎がわかっていないと、この記事は難しく感じてしまうかもです。。。
この記事でも順に復習しながら進みますが、不安な方は先にこちらを理解してから学習することをオススメします!!
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) "お"
}
<?php
$mojiChild1 = ["あ", "い", "う", "え", "お"];
$mojiChild2 = ["か", "き", "く", "け", "こ"];
$mojiChild3 = ["さ", "し", "す", "せ", "そ"];
$mojiParent = [$mojiChild1, $mojiChild2, $mojiChild3];
var_dump($mojiParent[0][0]);
このコードの実行結果はこちら
string(3) "あ"
$mojiParent[][]という形で、配列の入れ子を表現しているんですね!