Aby poprawnie odpowiedzieć na pytanie, trzeba prześledzić kod w dwóch etapach: (1) wypełnianie tablicy oraz (2) wypisywanie wybranych elementów.
Wypełnienie tablicy 10 losowymi wartościami oznacza, że w kodzie występuje pętla wykonująca się dokładnie 10 razy (np. po indeksach 0–9) i w każdej iteracji do tablicy trafia liczba wygenerowana losowo. W PHP typowo realizuje się to przez przypisanie do komórki tablicy wartości z funkcji losującej.
Następnie wypisanie wartości ujemnych wynika z drugiego kroku: kod iteruje po elementach tablicy i stosuje warunek, który przepuszcza tylko liczby mniejsze od zera. W praktyce to klasyczny schemat "filtruj i wypisz": jeśli element jest ujemny, to go pokaż, w przeciwnym razie pomiń.
Dlaczego pozostałe odpowiedzi są niepoprawne?
- Opis "kolejnymi liczbami od -100 do 100 i wypisanie wartości ujemnych" miesza dwa różne aspekty: zakres losowania (który może być -100..100) nie oznacza automatycznie, że tablica jest wypełniana wszystkimi kolejnymi liczbami z tego zakresu. Do tego potrzebna byłaby pętla przechodząca po całym przedziale i przypisująca wartości sekwencyjnie.
- Opis "kolejnymi liczbami od 0 do 9 i wypisanie ich" pasowałby do kodu, który nie losuje wartości, tylko wpisuje do tablicy numer iteracji i wypisuje wszystko bez warunku. Przy filtracji liczb ujemnych taka odpowiedź nie opisuje działania skryptu.
- Opis "100 losowymi wartościami, a następnie wypisanie wartości dodatnich" zmienia zarówno liczbę elementów (100 zamiast 10), jak i kryterium wypisywania (dodatnie zamiast ujemnych). To wymagałoby innej liczby iteracji w pętli oraz przeciwnego warunku (większe od zera).
Wskazówka egzaminacyjna: zawsze rozdziel w głowie liczbę iteracji pętli (ile elementów powstaje) od zakresu generowanych liczb (jakie wartości mogą się pojawić) oraz od warunku wypisywania (co faktycznie trafia na wyjście).