$_GET w PHP należy do tzw. zmiennych superglobalnych, czyli predefiniowanych tablic dostępnych w skrypcie bez potrzeby ich deklarowania w zasięgu funkcji. Zawiera ona dane wejściowe przesłane w ramach żądania HTTP metodą GET.
W praktyce oznacza to, że do $_GET trafiają najczęściej:
- parametry umieszczone w adresie URL po znaku ? (tzw. query string), np. page=2, q=php,
- dane z formularza HTML wysłanego metodą GET (także widoczne w URL).
Dlatego poprawny jest opis mówiący, że jest to zmienna predefiniowana używana do przekazywania danych do skryptu poprzez adres strony (URL). To dobrze oddaje typową cechę GET: dane są częścią adresu i można je zobaczyć w pasku przeglądarki, zapisać w historii, a także łatwo skopiować link.
Dlaczego pozostałe odpowiedzi są błędne?
- Stwierdzenie o "gromadzeniu wartości formularza po nagłówkach zlecenia HTTP" i że "danych nie można zobaczyć w adresie" pasuje do POST (zwykle $_POST), nie do $_GET.
- Opis "zdefiniowaną przez twórcę strony" jest nieprawdziwy: nazwa $_GET jest zarezerwowana i dostarczana przez PHP. Programista może jedynie odczytywać jej elementy (klucze odpowiadają nazwom parametrów).
- Odpowiedź mówiąca o "zwykłej" zmiennej pomija fakt, że $_GET jest mechanizmem wbudowanym w PHP i ma określone przeznaczenie w obsłudze danych wejściowych.
Wskazówka egzaminacyjna: kojarz GET z "linkiem" i widocznością parametrów w URL, a POST z "wysyłką w treści żądania" i brakiem parametrów w pasku adresu.