PHP 二次元配列のこと

複数の配列を入れることができる。

書き方 例:RPG

$teamA:2次元配列
$teamB:配列の要素で配列を作成する
$teamC~S:複数の2次元配列を一つの配列につっこむ

2次元配列は、最後のecho3つのように2つのインデックス(配列の中の一つの要素)を使って表示する

<?php
  // 2次元配列を作成する
   $player = "忍者";
   $teamA = [$player, "戦士", "魔法使い"];
   echo $teamA[0] . ",";
   echo $teamA[1] . ",";
   echo $teamA[2] . "\n";
 
   $teamB = [$teamA[0], $teamA[1], $teamA[2]];
   echo $teamB[0] . ",";
   echo $teamB[1] . ",";
   echo $teamB[2] . "\n";
 
   $teamC = ["勇者", "戦士", "魔法使い"];
   $teamD = ["盗賊", "忍者", "商人"];
   $teamE = ["スライム", "ドラゴン", "魔王"];
   $teamS = [$teamC, $teamD, $teamE];
   print_r($teamS);
   echo $teamS[0][0] . ",";//$teamS[0]:$teamSの最初のインデックス"$teamC" $teamS[0]:$teamCの"勇者"
   echo $teamS[0][1] . ",";//$teamS[0]:$teamSの最初のインデックス"$teamC" $teamS[0]:$teamCの"戦士"
   echo $teamS[0][2] . "\n";//$teamS[0]:$teamSの最初のインデックス"$teamC" $teamS[0]:$teamCの"魔法使い"
?>

上記のコメントに書いているように二次元配列を出力する場合、2つのインデックスを使う。
その際、最初の[]には配列が入った二次元配列から取り出すインデックス(この場合、$teamSの[0]のところ)次の[]には配列の中から取り出すインデックス(この場合、$teamCの[0])を使うことになる。


2次元配列を更新する場合

通常の配列のようにする。ただし、2つの値を指定しなければならない

<?php
  $teamS[0][0] = "狙撃手"; // $teamCの値が勇者→狙撃手に変更された
?>
  • X