Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Programowanie webowe PHP

Słowa kluczowe: PHP Tablice asocjacyjne w PHP Typy danych

Przedstawiony kod języka PHP

$dane = array ('imie' => 'Anna', 'nazwisko' => 'Nowak', 'wiek' =>21);
A. jest niepoprawny, nieznany operator =>
Źle. Operator => jest poprawną składnią PHP i przypisuje wartość do klucza tablicy.
B. określa tablicę z sześcioma wartościami
Źle. Klucz i wartość tworzą jeden element, więc par jest trzy, a nie sześć wartości.
C. definiuje tablicę z trzema wartościami
Dobrze. Trzy pary klucz => wartość tworzą tablicę asocjacyjną z trzema elementami.
D. jest błędny, indeksami tablicy mogą być wyłącznie liczby całkowite
Źle. W PHP kluczem tablicy może być także napis - tak działają tablice asocjacyjne.

Pytanie z egzaminu CKE, wrzesień 2015 (arkusz E.14-X-15.08).

Poprawna jest odpowiedź, że kod definiuje tablicę z trzema wartościami. Funkcja array() tworzy tu tablicę asocjacyjną: każda para zapisana jako klucz => wartość to jeden element. Kluczami są napisy 'imie', 'nazwisko' i 'wiek', a wartościami 'Anna', 'Nowak' i 21. Funkcja count($dane) zwróci więc 3.

Do zapamiętania: w PHP klucz tablicy może być liczbą całkowitą albo napisem, a operator => przypisuje wartość do klucza. Do elementu odwołuje się po kluczu, np. echo $dane['nazwisko']; wypisze Nowak. Takie tablice zwraca np. mysqli_fetch_assoc(), gdzie kluczami są nazwy kolumn tabeli. Przejście po wszystkich parach umożliwia pętla foreach, w której każdy obieg daje jeden klucz i jedną wartość.

Najczęstszy błąd to liczenie kluczy i wartości osobno - stąd pomysł na sześć wartości. Para 'imie' => 'Anna' to jeden element tablicy: klucz jest jego „etykietą”, a nie osobną wartością. Trzy pary dają trzy elementy.

Operator => nie jest błędem - to standardowa składnia PHP do przypisywania wartości kluczom, używana także w pętli foreach ($dane as $klucz => $wartosc). Nie jest też prawdą, że indeksami tablicy mogą być wyłącznie liczby całkowite. Tak działają tablice indeksowane, tworzone np. przez array('Anna', 'Nowak', 21), gdzie PHP sam nadaje indeksy 0, 1 i 2. W tablicy asocjacyjnej kluczami są napisy, co pozwala opisać dane w czytelny sposób.

Rozwiązując takie zadanie, warto policzyć pary rozdzielone przecinkami: ile par klucz => wartość, tyle elementów tablicy. Ten prosty test od razu wyklucza odpowiedź z sześcioma wartościami, a znajomość składni pozwala odrzucić twierdzenia o błędzie i o wyłącznie liczbowych indeksach.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.