多次元配列
そふぃのPHP入門 >> PHP言語リファレンス >> PHPの配列 >> 多次元配列

多次元配列

多次元配列とは

PHPでは多次元配列というものもサポートしています。多次元配列とは配列の中にさらに配列が入っていると考えてもらってもいいかもしれません。

配列が仕切りをした複数の空間を持つ箱だとすると、多次元配列は仕切りをした箱をさらに横に並べたようなものです。

これで縦・横に仕切りができる事になりますがこのように配列の次元が2つの場合は2次元配列といいます。

縦・横の仕切りのある箱をさらに何段かに積んだイメージの箱には「段」という次元が加わり、3次元配列といいます。

2次元配列

簡単な2次元配列の例です。「 $a 」を 0 と 1 の次元に分け、0の配列・1の配列それぞれにさらに配列を作成します。説明するよりは見たほうが早いのでサンプルをどうぞ。

  1. $a[0][0] = 5;
  2. $a[0][1] = 9;
  3. $a[0][2] = 8;
  4.  
  5. $a[1][0] = 3;
  6. $a[1][1] = 7;
  7. $a[1][2] = 1;

また、次元の要素数が同じでなければならないという決まりはないので要素数の違うこんな配列も使えます。

  1. $a[0][0] = 7;
  2. $a[0][1] = 8;
  3. $a[0][2] = 3;
  4. $a[0][3] = 5;
  5. $a[0][4] = 2; //1次元目[0]の要素数5
  6.  
  7. $a[1][0] = 6;
  8. $a[1][1] = 13;
  9. $a[1][2] = 1; //1次元目[1]の要素数3

多次元連想配列

配列のキーに文字列を使って連想配列にする事もできます。

  1. <?php
  2. $food["vegetable"]["carrot"] = "にんじん";
  3. $food["vegetable"]["tomato"] = "トマト";
  4. $food["vegetable"]["onion"] = "たまねぎ";
  5.  
  6. $food["fruit"]["apple"] = "りんご";
  7. $food["fruit"]["orange"] = "オレンジ";
  8. $food["fruit"]["grape"] = "ぶどう";
  9.  
  10. echo $food["fruit"]["apple"];
  11. ?>

出力結果

りんご

3次元配列

配列の次元を3つにすれば3次元配列になります。

  1. $arr[0][0][0] = 15;
  2. $arr[0][0][1] = 10;
  3.  
  4. $arr[0][1][0] = 7;
  5. $arr[0][1][1] = 39;
  6.  
  7. $arr[1][0][0] = 23;
  8. $arr[1][0][1] = 6;
  9.  
  10. $arr[1][1][0] = 27;
  11. $arr[1][1][1] = 31;