PHP 多次元配列

このチュートリアルの前の章では、配列が数/値の簡単なリストであることを知っていました。

ただし、時には値を1つ以上のキーで保存したい場合もあります。

多層配列で保存できます。

PHP - 多層配列

多層配列とは、1つ以上の配列を含む配列のことです。

PHPは二、三、四、五階層の多層配列を理解できます。ただし、3階層以上の深さの配列は、多くの人にとって管理が難しいです。

注記:配列の次元は、選択するために必要なインデックスの数を示します。

  • 二次元配列の場合、要素を選択するために2つのインデックスが必要です。
  • 三次元配列の場合、要素を選択するために3つのインデックスが必要です。

PHP - 二次元配列

二次元配列は配列の配列です(三次元配列は配列の配列の配列です)。

まず、以下のテーブルを見てみましょう:

ブランド 在庫 販売
ボルボ 33 20
BMW 17 15
サーブ 5 2
ランドローバー 15 11

私たちは二次元配列に上記のデータをこんな感じで保存できます:

$cars = array
  (
  array("Volvo",22,18),
  array("BMW",15,13),
  array("Saab",5,2),
  array("ランドローバー",17,15)
  );

この2次元配列には4つの配列が含まれており、2つのインデックス(インデックス)があります:行と列。

要素にアクセスするために $cars 配列を使用する場合、2つのインデックス(行と列)を使用する必要があります:

<?php
echo $cars[0][0].": 库存:".$cars[0][1].", 売上:".$cars[0][2].".<br>";
echo $cars[1][0].": 库存:".$cars[1][1].", 売上:".$cars[1][2].".<br>";
echo $cars[2][0].": 库存:".$cars[2][1].", 売上:".$cars[2][2].".<br>";
echo $cars[3][0].": 库存:".$cars[3][1].", 売上:".$cars[3][2].".<br>";
?>

実行例

For ループの中で別の For ループを使用して、$cars 配列の要素を取得することもできます(まだ2つのインデックスを使用する必要があります):

<?php
for ($row = 0; $row < 4; $row++) {
  echo "<p><b>行番号 $row</b></p>";
  echo "<ul>";
  for ($col = 0; $col < 3; $col++) {
    echo "<li>".$cars[$row][$col]."</li>";
  }
  echo "</ul>";
}
?>

実行例