多次元配列

 前節まで学習した配列はデータが線のように一列に並んでいるため、1次元配列と呼ばれます。これから縦と横に、つまり表のように並べる配列(2次元配列)を見てみましょう。2次元配列は次のように宣言します。

2次元配列は次のように初期化します。

2次元配列初期化の書式
$配列名 = array(array(値1, 値2, ), array(値1, 値2, ), );
$配列名 = [[値1, 値2, ], [値1, 値2, ], ];

○ ファイル

 次のようにファイルを作成してください。

ファイルの種類 PHP ファイル
ファイル名 twodimensionalarraytest1.php

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. <?php
  2. //配列の用意
  3. $foods = array(array('りんご', 'みかん'), array('にんじん', 'キャベツ', 'レタス'));
  4. $vehicle = [['乗用車', 'バス', 'トラック'], ['車', '飛行機']];
  5. //文字化け対策
  6. header("Content-Type: text/html; charset=utf-8");
  7. //配列の内容を表示する
  8. var_dump($foods);
  9. var_dump($vehicle);

○ 実行結果

実行結果
実行結果

○ 解説

 3、4行目では2次元配列の初期化をしています。配列の要素内に配列をセットする要領で初期化します。

2次元配列の初期化
2次元配列の初期化

 2次元配列では、次のように各要素にアクセスします。

2次元配列代入の書式
$配列名[インデックス番号] [インデックス番号] = ;

○ ファイル

 「twodimensionalarraytest1.php」をコピーして、次のようにファイルを作成してください。

ファイルの種類 PHP ファイル
ファイル名 twodimensionalarraytest1.php

サンプルダウンロード

○ プログラム

 次のようにプログラムを入力してください。

  1. <?php
  2. //配列の用意
  3. $foods = array(array('りんご', 'みかん'), array('にんじん', 'キャベツ', 'レタス'));
  4. $vehicle = [['乗用車', 'バス', 'トラック'], ['車', '飛行機']];
  5. //配列にデータを代入
  6. $foods[0][1] = 'メロン';
  7. $vehicle[1][2] = '船';
  8. //文字化け対策
  9. header("Content-Type: text/html; charset=utf-8");
  10. //配列の内容を表示する
  11. var_dump($foods);
  12. var_dump($vehicle);

○ 実行結果

実行結果
実行結果

○ 解説

 7行目では配列$foodsのインデックス番号「0」番の配列のインデックス番号「1」の要素に「メロン」を代入しています。今回は、存在する要素に代入したので、「みかん」から「メロン」にデータが置き換わります。8行目では配列$vehicleのインデックス番号「1」番の配列のインデックス番号「2」の要素に「船」を代入しています。この要素は存在しませんので、新しく要素が追加されます。

配列に代入
配列に代入

前へ   次へ