二次元配列
配列だよ
配列の配列だよ
一次元配列と比較されるよ
簡単に書くよ
二次元配列(読:ニジゲンハイレツ 英:two-dimensional array)とは
ミカン箱が縦と横に並んだもの
と言われても「はぁ?」って感じですね。
真面目に書くと
値を入れておく箱(変数)が縦横に並んだ配列
(複数の変数がくっついたもの)のこと
です。
より正確に書くと
配列の配列
です。
詳しく書くよ
順番に見ていきましょう。
まずは予備知識として
・変数
・配列
・配列の要素
・配列の添字(ソエジ)
について簡単に説明します。
「そんなの説明されなくても知ってるよ!」な人は適当に読み飛ばしてください。
変数は「プログラミング言語における『値を入れておく箱』」です。
処理の途中で値を入れたり、逆に取り出したりできます。
配列は「複数の変数をくっつけたもの」です。
ミカン箱(変数)がたくさん集まったものだと思ってください。
変数は「値を入れておく箱」でした。
配列は「値を入れておく箱が複数くっついたもの」です。
配列の要素は「配列の中にある箱ひとつひとつ」です。
言い方を変えると「複数の変数をくっつけたもの」の中にある「変数」のことです。
配列の添字は「配列の要素に割り振られた番号」です。
以上を踏まえて
ミカン箱の集まり(配列)のうち、ミカン箱が縦横に並んでいるもの
が「二次元配列」です。
二次元配列は
配列の配列
と考えると分かりやすいと思います。
まずは横に並んだミカン箱の集まりがあって、それが入った大きめのミカン箱が縦に並んでいるイメージです。
二次元配列は、その名の通り、二次元の配列です。
箱を特定するときは、縦横の添字の組み合わせで、どの箱か指定します。
箱の指定は
配列の名前[縦の添字][横の添字]
の形でやります。
添字の指定は、左から
縦(大きな箱)→横(小さな箱)
の順です。
逆に覚えないように気を付けてくださいね。
例えば左から2番目、前から3番目の箱にミカンを3つ入れたいときは
ミカン箱配列[2][1] = ミカン3つ
のように書きます。
これは「添字が2の箱(前から3番目の箱)に入っている添字が1の箱(左から2番目の箱)にミカンを3つ入れてね」な命令です。
ミカン箱の例を、もう少しプログラミング言語っぽい書き方にすると、例えば
//ミカン箱をそれぞれ用意(小さなミカン箱の集まり3つがと大きなミカン箱の集まり)
$mikan_ary = array();
$mikan_ary2 = array();
$mikan_ary3 = array();
$big_mikan_ary = array();
//大きなミカン箱に小さなミカン箱の集まりを入れておく
$big_mikan_ary[0] = $mikan_ary;
$big_mikan_ary[1] = $mikan_ary2;
$big_mikan_ary[2] = $mikan_ary3;
//大きなミカン箱に入った小さなミカン箱に数字を入れる
$big_mikan_ary[2][1] = 3;
のようになります。
配列「$mikan_ary」を要素として持つ配列「$big_mikan_ary」が二次元配列です。
ちなみに、二次元配列は「縦横(行と列)の配列」と説明されるのが一般的なのでそれに沿った説明をしましたが、個人的には「配列の配列」と覚えることをオススメします。
配列を配列にしたのが二次元配列です。
なぜ「配列の配列」で覚えることをオススメするかというと、より複雑な配列になったときにイメージしやすいからです。
二次元配列以上の配列は「多次元配列」と呼ばれます。
多次元配列は、その気になればいくらでも複雑にできます。
ミカン箱を縦横に並べたのが二次元配列です。
ミカン箱を縦横に並べたものを更に積み重ねたのが三次元配列です。
それでは四次元配列は、どうなるでしょうね?
ちょっとイメージするのが大変じゃないですか?
「配列の配列」で覚えた場合、配列(一次元配列)を配列にしたのが二次元配列です。
配列の配列(二次元配列)を配列にしたのが三次元配列です。
配列の配列の配列(三次元配列)を配列にしたのが四次元配列です。
「何次元でもかかってこい!」って感じですね。
そんな経緯で、あくまで個人的な意見ではありますが、二次元配列は「縦横の配列」と覚えるより「配列の配列」と覚えた方が汎用的だと思います。
一言でまとめるよ
まぁ「二次元配列」って単語が出てきたら「配列
(複数の変数がくっついたもの)の配列なんだな~」と お考えください。
おまけ
■検索してみる?






