Menu
CoddyTech

2次元配列の作成

CoddyのPHPジャーニー「論理とフロー」セクションの一部。レッスン 27/68。

多次元配列とは、要素として他の配列を含む配列のことです。最も一般的なのは2次元配列で、スプレッドシートやゲーム盤のように、行と列のある格子として考えることができます。

PHPで2D配列を作成するのは簡単です。各要素がそれ自体配列になっている配列を作ります。

<?php
$gameBoard = [
    ["", "", ""],
    ["", "", ""],
    ["", "", ""]
];
?>

これにより、各内部配列が行を表し、それらの配列内の各要素が列を表す3x3のグリッドが作成されます。異なるデータ型を含む2次元配列も作成できます:

<?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()を入れ子にして使うと、2次元配列を効率よく作成できます。たとえば、すべてのセルが0で始まる3x3のグリッドを作成するには、次のようにします。

<?php
$grid = array_fill(0, 3, array_fill(0, 3, 0));
// 結果: すべての要素が 0 の 3x3 配列
?>

多次元配列は、ゲーム盤や情報の表などの構造化データ、またはデータを格子形式で表現する必要があるあらゆる場面で、データを整理するのに非常に役立ちます。関連情報を行と列で扱うための自然な方法を提供します。

challenge icon

チャレンジ

簡単

2D 配列の次元と初期値を表す3つの入力を受け取ります。入力は、行数、列数、各位置を埋める値です。これらの入力を読み取り、指定された次元で各要素が指定された値に設定された2D配列を作成し、print_r()を使って配列を出力してください。

入力形式:

  • 1行目:行数(整数)
  • 2行目:列数(整数)
  • 3行目:各要素の初期値(文字列)

期待される出力:作成した2D配列をprint_r()を使って表示したもの

自分で試してみよう

<?php
// 入力を読み取る
$rows = intval(fgets(STDIN));
$columns = intval(fgets(STDIN));
$value = trim(fgets(STDIN));

// TODO: 2次元配列を作成するコードを以下に記述する


// 結果を出力する
print_r($array);
?>
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

論理とフローのすべてのレッスン

自分で練習してみよう: PHPオンラインコンパイラ