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