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.
Wyzwanie
ŁatwyOtrzymasz 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);
?>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
1Zaawansowane funkcje
Funkcje anonimoweDomknięcia i „use”Funkcje strzałkoweFunkcje zwrotneUżywanie „call_user_func”Funkcje zmiennePrzekazywanie przez referencjęFunkcje rekurencyjnePowtórka: przegląd funkcji4Tablice wielowymiarowe
Tworzenie tablicy 2DDostęp do elementów tablicy 2DModyfikowanie elementów tablicy 2DIterowanie z użyciem zagnieżdżonych pętliAsocjacyjne tablice 2DPodsumowanie: ćwiczenie z prostą siatką2Zaawansowane operacje na tablicach
Dodawanie za pomocą 'array_push'Usuwanie za pomocą 'array_pop'Dodawanie za pomocą 'array_unshift'Usuwanie za pomocą 'array_shift'Łączenie tablic indeksowanychŁączenie tablic asocjacyjnychWyodrębnianie za pomocą 'array_slice'Wyszukiwanie wartości za pomocą 'in_array'Wyszukiwanie kluczy za pomocą 'array_search'Podsumowanie: ćwiczenie z playlistą3Sortowanie tablic
Sortowanie tablic indeksowanych rosnącoSortowanie tablic indeksowanych malejącoSortowanie tablic asocjacyjnych według wartościSortowanie tablic asocjacyjnych według kluczaSortowanie w kolejności naturalnejSortowanie niestandardowe za pomocą 'usort'Podsumowanie: sortowanie tabeli wynikówPoćwicz samodzielnie: Kompilator PHP online