Co to jest tablica asocjacyjna w PHP?
Tablica asocjacyjna to taka tablica, w której indeksy (klucze) mają postać nazw, najczęściej łańcuchów znaków, a nie tylko kolejnych liczb 0, 1, 2.... Dzięki temu dane są czytelniejsze i łatwiej odwoływać się do elementów po ich znaczeniu.
Cechy tablic asocjacyjnych
- klucz opisuje zawartość elementu, np.
imie,nazwisko,wiek - kluczem może być napis, np.
"login" - dostęp do wartości odbywa się przez podanie klucza
- często służą do przechowywania danych formularzy, sesji i parametrów żądania
Przykład
<?php
$uzytkownik = [
"imie" => "Anna",
"nazwisko" => "Nowak",
"wiek" => 19
];
echo $uzytkownik["imie"]; // Anna
?>
W tym przykładzie indeksami nie są liczby, lecz nazwy pól.
Różnica między tablicą indeksowaną a asocjacyjną
Tablica indeksowana:
$kolory = ["czerwony", "zielony", "niebieski"];
echo $kolory[0];
Tablica asocjacyjna:
$kolory = [
"podstawowy" => "czerwony",
"uzupelniajacy" => "zielony"
];
echo $kolory["podstawowy"];
W pierwszym przypadku odwołujemy się przez numer, w drugim przez nazwę klucza.
Gdzie występują w aplikacjach webowych?
Bardzo często w PHP tablice asocjacyjne pojawiają się w superglobalnych tablicach:
$_GET$_POST$_SESSION$_COOKIE
Przykład:
$login = $_POST["login"];
Tutaj login jest kluczem tekstowym, więc $_POST działa jak tablica asocjacyjna.
Na egzaminie pamiętaj
Jeśli w pytaniu pojawia się stwierdzenie, że w tablicy indeks ma postać łańcucha znakowego, chodzi właśnie o tablicę asocjacyjną. Nie oznacza to tablicy wielowymiarowej ani tablicy, która zawsze zaczyna się od indeksu 0.