2次元配列の作成
CoddyのPHPジャーニー「論理とフロー」セクションの一部 — レッスン 27/68。
多次元配列とは、単に他の配列を要素として持つ配列のことです。最も一般的な形式は2次元配列で、これはスプレッドシートやゲーム盤のように、行と列を持つグリッドとして考えることができます。
PHPで2次元配列を作成するのは簡単です。各要素がそれ自体配列である配列を構築します:
<?php
$gameBoard = [
["", "", ""],
["", "", ""],
["", "", ""]
];
?>これにより、各内部配列が行を表し、それらの配列内の各要素が列を表す3x3のグリッドが作成されます。また、異なるデータ型を持つ2次元配列を作成することもできます:
<?php
$scores = [
[85, 92, 78],
[90, 88, 95],
[76, 84, 89]
];
?>PHPには、特定の値で埋められた配列を素早く作成できるarray_fill()という組み込み関数も用意されています。この関数は、開始インデックス、要素数、および埋める値の3つの引数を取ります:
<?php
// array_fill(開始インデックス, 要素数, 値)
$row = array_fill(0, 3, 0); // [0, 0, 0]
?>array_fill() をそれ自体と組み合わせることで、効率的に2次元配列を構築できます。例えば、すべてのセルが 0 で始まる3x3のグリッドを作成するには、次のようにします:
<?php
$grid = array_fill(0, 3, array_fill(0, 3, 0));
// 結果: すべての要素が 0 である 3x3 の配列
?>多次元配列は、ゲームボードや情報の表、あるいはデータをグリッド形式で表現する必要があるあらゆる場面において、構造化されたデータを整理するのに非常に便利です。これらは、関連する情報の行と列を扱うための自然な方法を提供します。
チャレンジ
簡単2次元配列の次元と初期値を表す3つの入力(行数、列数、および各位置を埋める値)を受け取ります。これらの入力を読み取り、各要素に指定された値が設定された、指定された次元の2次元配列を作成し、print_r()を使用してその配列を出力してください。
入力形式:
- 1行目:行数(整数)
- 2行目:列数(整数)
- 3行目:各要素の初期値(文字列)
期待される出力: print_r()を使用して表示された、作成された2次元配列
自分で試してみよう
<?php
// 入力を読み込む
$rows = intval(fgets(STDIN));
$columns = intval(fgets(STDIN));
$value = trim(fgets(STDIN));
// TODO: 2次元配列を作成するために、以下にコードを記述してください
// 結果を出力する
print_r($array);
?>このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。