Menu
Coddy logo textTech

2次元配列の要素の変更

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

2D配列の要素にアクセスできるようになったら、次の論理的なステップは、それらの値を変更する方法を学ぶことです。2D配列の要素を修正するには、アクセスする際と同じダブルインデックス構文を使用しますが、新しい値を設定するために代入演算子を使用します。

2次元配列の特定の要素を変更する方法は次のとおりです:

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

// 中央のセルを 'X' に変更します
$gameBoard[1][1] = "X";

// 左上の隅を 'O' に変更します
$gameBoard[0][0] = "O";
?>

$gameBoard[1][1] = "X" という構文は、行 1、列 1(3x3グリッドの中央)を対象とし、その位置に値 "X" を代入します。これにより元の配列が直接変更され、以前そこにあった値が何であれ置き換えられます。

この変更手法は、ゲームの状態の更新、テーブル内のデータの変更、またはグリッド状のデータ構造内の特定の場所を変更する必要があるあらゆるシナリオにおいて不可欠です。正確な場所を特定して更新できる能力により、2次元配列は、行と列で整理された動的で変更可能な情報を表現するのに最適です。

quiz icon腕試し

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

quiz icon腕試し

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

quiz icon腕試し

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

challenge icon

チャレンジ

簡単

4つの入力を受け取ります:JSON形式の座席表を表す2次元配列、行インデックス、列インデックス、そして新しい乗客の名前です。これら4つの入力をすべて読み込み、JSON文字列を2次元配列に変換し、指定された行と列の要素に新しい乗客の名前を割り当てて修正し、更新された2次元配列を print_r() を使用して出力してください。

この2次元配列は座席表を表しており、各要素には乗客の名前、または空席の場合は空の文字列が含まれています。

入力形式:

  • 1行目: 座席表を表すJSON配列 (例: [["Alice","Bob",""],["","Charlie","Diana"],["","",""]])
  • 2行目: 行インデックス (整数)
  • 3行目: 列インデックス (整数)
  • 4行目: 新しい乗客の名前 (文字列)

期待される出力: print_r() を使用して表示された、修正後の2次元配列

チートシート

2次元配列の要素を変更するには、代入演算子と共にダブルインデックス構文を使用します。

$array[row][column] = newValue;

ゲームボードを変更する例:

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

// 中央のセルを 'X' に変更する
$gameBoard[1][1] = "X";

// 左上の隅を 'O' に変更する
$gameBoard[0][0] = "O";
?>

これにより元の配列が直接変更され、指定された位置の値が置き換えられます。この変更手法は、行と列で構成される動的なデータを更新するために不可欠です。

自分で試してみよう

<?php
// 入力を読み込む
$json_input = trim(fgets(STDIN));
$row_index = intval(fgets(STDIN));
$col_index = intval(fgets(STDIN));
$new_passenger = trim(fgets(STDIN));

// JSONを2次元配列に変換する
$seating_chart = (array)json_decode($json_input, true);

// TODO: 座席表を修正するために、以下にコードを記述してください


// 修正された配列を出力する
print_r($seating_chart);
?>
quiz icon腕試し

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

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