Dodawanie nowych par klucz-wartość
Część sekcji Podstawy ścieżki PHP w Coddy. Lekcja 44 z 71.
Wiesz już, jak modyfikować istniejące wartości w tablicy asocjacyjnej. Ale co się stanie, gdy przypiszesz wartość do klucza, który jeszcze nie istnieje? PHP automatycznie go utworzy.
<?php
$person = [
"name" => "Alice",
"age" => 25
];
$person["city"] = "Paris";
$person["job"] = "Developer";
echo $person["city"]; // Paris
echo $person["job"]; // Developer
?>Składnia jest taka sama jak przy modyfikowaniu: $array["key"] = value, ale gdy klucz nie istnieje, PHP dodaje do tablicy nową parę klucz-wartość zamiast aktualizować istniejącą.
Jest to szczególnie przydatne przy stopniowym budowaniu tablicy asocjacyjnej:
<?php
$settings = [];
$settings["theme"] = "dark";
$settings["language"] = "en";
$settings["notifications"] = true;
echo $settings["theme"]; // dark
?>Rozpoczęcie od pustej tablicy i dodawanie par w razie potrzeby to powszechny wzorzec podczas zbierania danych w czasie lub gdy nie znasz z góry wszystkich kluczy.
Wyzwanie
ŁatwyRozpocznij od pustej tablicy asocjacyjnej o nazwie $profile.
Wczytaj następujące dane:
- Ciąg znaków
key1— pierwszy klucz do dodania - Ciąg znaków
value1— wartość dlakey1 - Ciąg znaków
key2— drugi klucz do dodania - Ciąg znaków
value2— wartość dlakey2 - Ciąg znaków
key3— trzeci klucz do dodania - Ciąg znaków
value3— wartość dlakey3
Dodaj każdą parę klucz-wartość do tablicy $profile, a następnie wypisz:
- Wartość powiązaną z
key1 - Wartość powiązaną z
key2 - Wartość powiązaną z
key3
Wypisz każdy wynik w osobnym wierszu.
Przykład:
Jeśli dane wejściowe to username, alice123, email, alice@example.com, status i active, wynik powinien wyglądać następująco:
alice123
alice@example.com
activeJeśli dane wejściowe to brand, Nike, size, 42, color i black, wynik powinien wyglądać następująco:
Nike
42
blackSpróbuj swoich sił
<?php
// Wczytaj dane wejściowe
$key1 = trim(fgets(STDIN));
$value1 = trim(fgets(STDIN));
$key2 = trim(fgets(STDIN));
$value2 = trim(fgets(STDIN));
$key3 = trim(fgets(STDIN));
$value3 = trim(fgets(STDIN));
// Zacznij od pustej tablicy asocjacyjnej
$profile = [];
// TODO: Napisz swój kod poniżej
// Dodaj każdą parę klucz-wartość do tablicy $profile
// Wypisz wartości przypisane do poszczególnych kluczy
echo $profile[$key1] . "\n";
echo $profile[$key2] . "\n";
echo $profile[$key3] . "\n";
?>Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory porównania i logiczne
Operatory porównaniaRówność i tożsamośćOperatory logiczne — część 1Operatory logiczne — część 2Powtórka — prosta logika7Tablice, część 2 — asocjacyjne
Wprowadzenie do tablic asocjacyjnychDostęp do wartości za pomocą kluczaModyfikowanie wartości za pomocą kluczaDodawanie nowych par klucz-wartośćSprawdzanie, czy klucz istniejePodsumowanie — magazyn danych klucz-wartość2Zmienne i typy danych
LiczbyCiągi znaków i cudzysłowyWartości logiczneKonwencje nazewnictwaPodsumowanie — inicjalizacja zmiennychPuste zmienneŁączenie ciągów znakówPobieranie danych od użytkownikaKonwersja na inne typy5Instrukcje warunkowe
Instrukcja ifIf - elseOperator trójargumentowyOperator null coalescingInstrukcja switchPodsumowanie — podejmowanie decyzji3Podstawowe operatory
Operatory arytmetyczneOperator moduloOperator potęgowaniaPrzypisanie złożoneInkrementacja/dekrementacjaPriorytet operatorówPowtórka — proste obliczeniaOperatory łańcuchów znakówPoćwicz samodzielnie: Kompilator PHP online