Tablica asocjacyjna w PHP

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

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.