Menu
Coddy logo textTech

Modyfikowanie elementów tablicy 2D

Część sekcji Logika i przepływ programu ścieżki PHP w Coddy. Lekcja 29 z 68.

Gdy już potrafisz uzyskiwać dostęp do elementów tablicy 2D, kolejnym logicznym krokiem jest nauczenie się zmieniania ich wartości. Modyfikowanie elementów tablicy 2D odbywa się za pomocą tej samej składni podwójnego indeksowania co uzyskiwanie do nich dostępu, ale z operatorem przypisania, który ustawia nową wartość.

Oto jak zmienić konkretny element w tablicy 2D:

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

// Zmień środkową komórkę na 'X'
$gameBoard[1][1] = "X";

// Zmień lewy górny róg na 'O'
$gameBoard[0][0] = "O";
?>

Składnia $gameBoard[1][1] = "X" wskazuje wiersz 1, kolumnę 1 (środek siatki 3x3) i przypisuje wartość "X" do tej pozycji. Bezpośrednio modyfikuje oryginalną tablicę, zastępując wartość, która była tam wcześniej.

Ta technika modyfikacji jest niezbędna do aktualizowania stanów gry, zmieniania danych w tabelach lub w każdej sytuacji, w której trzeba zmienić określone pozycje w strukturze danych przypominającej siatkę. Możliwość wskazywania i aktualizowania dokładnych lokalizacji sprawia, że tablice 2D doskonale nadają się do reprezentowania dynamicznych, zmiennych informacji uporządkowanych w wierszach i kolumnach.

challenge icon

Wyzwanie

Łatwy

Otrzymasz cztery dane wejściowe: tablicę 2D reprezentującą plan miejsc w formacie JSON, indeks wiersza, indeks kolumny oraz imię i nazwisko nowego pasażera. Odczytaj wszystkie cztery dane wejściowe, przekształć ciąg JSON w tablicę 2D, zmodyfikuj element w określonym wierszu i kolumnie, przypisując mu imię i nazwisko nowego pasażera, a następnie wyświetl zaktualizowaną tablicę 2D za pomocą print_r().

Tablica 2D reprezentuje plan miejsc, w którym każdy element zawiera imię i nazwisko pasażera lub pusty ciąg znaków, jeśli miejsce jest wolne.

Format danych wejściowych:

  • Pierwszy wiersz: tablica JSON reprezentująca plan miejsc (przykład: [["Alice","Bob",""],["","Charlie","Diana"],["","",""]])
  • Drugi wiersz: indeks wiersza (liczba całkowita)
  • Trzeci wiersz: indeks kolumny (liczba całkowita)
  • Czwarty wiersz: imię i nazwisko nowego pasażera (ciąg znaków)

Oczekiwany wynik: zmodyfikowana tablica 2D wyświetlona za pomocą print_r()

Spróbuj swoich sił

<?php
// Wczytaj dane wejściowe
$json_input = trim(fgets(STDIN));
$row_index = intval(fgets(STDIN));
$col_index = intval(fgets(STDIN));
$new_passenger = trim(fgets(STDIN));

// Przekształć JSON w tablicę dwuwymiarową
$seating_chart = (array)json_decode($json_input, true);

// TODO: Napisz poniżej kod, który zmodyfikuje plan miejsc


// Wyświetl zmodyfikowaną tablicę
print_r($seating_chart);
?>
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator PHP online