Dany jest fragment kodu PHP z zadeklarowaną zmienną tablicową. Jakie imię zostanie wyświetlone po wykonaniu tego kodu?
$imiona = array('Anna', 'Tomasz', 'Krzysztof', 'Aleksandra'); echo $imiona[1];
A. Krzysztof
B. Aleksandra
C. Tomasz
D. Anna
Tomasz jest wynikiem działania tego kodu. W PHP zwykła tablica utworzona funkcją array('Anna', 'Tomasz', 'Krzysztof', 'Aleksandra') otrzymuje automatyczne indeksy liczbowe zaczynające się od 0. Oznacza to, że 'Anna' ma indeks 0, 'Tomasz' ma indeks 1, 'Krzysztof' ma indeks 2, a 'Aleksandra' ma indeks 3. Instrukcja echo $imiona[1]; odczytuje więc element tablicy zapisany pod indeksem 1 i wypisuje go na ekran. Reguła do zapamiętania: w tablicach indeksowanych numerycznie pierwszy element ma indeks 0, nie 1. Taki zapis często stosuje się przy wyświetlaniu danych z listy, na przykład nazw użytkowników, produktów albo wyników pobranych z formularza.
W tym kodzie decydujący jest indeks zapisany w nawiasach kwadratowych przy nazwie tablicy. Poprawnym wynikiem jest Tomasz, ponieważ element ten znajduje się pod indeksem 1. Typowy błąd polega na liczeniu elementów tablicy od 1, podczas gdy w PHP automatyczne indeksy tablic numerycznych zaczynają się od 0. Anna byłaby wyświetlona po użyciu zapisu $imiona[0], ponieważ jest pierwszym elementem tablicy, ale jej indeks to 0. Krzysztof byłby wynikiem instrukcji echo $imiona[2];, ponieważ znajduje się po elemencie Tomasz. Aleksandra odpowiada indeksowi 3, więc pojawiłaby się przy odczycie $imiona[3]. Nawias kwadratowy nie oznacza numeru porządkowego liczonego „po ludzku”, tylko dokładny indeks elementu w tablicy. Przy pracy z tablicami PHP takie przesunięcie o jeden jest częstą przyczyną błędów, zwłaszcza w pętlach i przy odczytywaniu danych z list.