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 Algorytmy i podstawy informatyki PHP

Dany jest fragment kodu PHP z zadeklarowaną zmienną typu tablicowego

$imiona = array ('Anna', 'Tomasz', 'Krzysztof', 'Aleksandra');
echo $imiona[2];
W wyniku wykonania kodu zostanie wypisane imię
A. Tomasz
B. Anna
C. Aleksandra
D. Krzysztof

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

W tym kodzie kluczowe jest to, że tablice indeksowane numerycznie w PHP domyślnie zaczynają się od indeksu 0, a nie od 1. Elementy tablicy imiona są więc ułożone tak: imiona[0] to Anna, imiona[1] to Tomasz, imiona[2] to Krzysztof, a imiona[3] to Aleksandra. Instrukcja echo wypisuje wartość znajdującą się pod indeksem 2, dlatego wynikiem działania programu będzie Krzysztof. To bardzo ważna zasada, bo występuje nie tylko w PHP, ale też w wielu innych językach, np. JavaScript, C, Java czy Python. Z mojego doświadczenia wynika, że pomyłki z indeksami tablic są jednymi z najczęstszych błędów na początku nauki programowania. W praktycznych projektach webowych tablice wykorzystuje się np. do przechowywania list produktów, nazw użytkowników, wyników z formularza albo rekordów pobranych z bazy danych. Dobrą praktyką jest świadome sprawdzanie indeksów, zwłaszcza gdy dane pochodzą z zewnątrz, bo odwołanie do nieistniejącego elementu może spowodować ostrzeżenie lub błąd logiczny w aplikacji.
Najczęstszy błąd w tym zadaniu polega na liczeniu elementów tablicy tak, jak liczymy rzeczy w codziennym życiu, czyli od 1. W programowaniu, szczególnie w PHP przy zwykłych tablicach indeksowanych numerycznie, pierwszy element ma indeks 0. Dlatego Anna nie znajduje się pod indeksem 1, tylko pod indeksem 0. Tomasz ma indeks 1, a nie 2, więc wybranie Tomasza wynika zwykle z przesunięcia całej numeracji o jeden. Podobnie Aleksandra jest ostatnim elementem tablicy, ale jej indeks to 3, ponieważ przed nią są już trzy elementy o indeksach 0, 1 i 2. Myślenie, że zapis imiona[2] oznacza drugi element tablicy, jest bardzo typową pułapką na starcie nauki PHP. W rzeczywistości oznacza on element o indeksie 2, czyli trzeci element w kolejności. Moim zdaniem warto sobie zawsze rozpisać małą tabelkę indeks → wartość, szczególnie gdy tablica jest krótka i zadanie dotyczy podstaw. W aplikacjach webowych takie nieporozumienie może prowadzić do wyświetlenia niewłaściwego użytkownika, produktu albo opcji w formularzu. Dobra praktyka to pilnowanie różnicy między pozycją człowieka w liście a indeksem technicznym używanym przez język programowania.

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.