Instrukcja warunkowa w PHP ma ściśle określoną składnię: po if (warunek) musi pojawić się instrukcja albo blok instrukcji ujęty w klamry. Dopiero po takiej instrukcji/bloku może wystąpić część else.
Dlatego sytuacja opisana w poprawnej odpowiedzi (brak średnika/instrukcji po wyrażeniu w if, a następnie wystąpienie else) prowadzi do błędu składni. Interpreter nie potrafi poprawnie sparsować konstrukcji, bo po nawiasie zamykającym warunek oczekuje instrukcji (np. pojedynczego polecenia zakończonego średnikiem) lub bloku { ... }, a napotyka else.
Dlaczego pozostałe odpowiedzi są niepoprawne:
- "będzie pisał kod bez wcięć." Wcięcia są elementem czytelności i standardów formatowania, ale parser PHP nie wymaga wcięć do poprawnego wykonania kodu.
- "będzie deklarował zmienne wewnątrz warunku." To może być złą praktyką lub powodować niezamierzone efekty, ale samo w sobie nie musi generować błędu składni, który uniemożliwia wykonanie programu. Kluczowe jest rozróżnienie: co zatrzymuje parsowanie, a co jest tylko ryzykowne logicznie.
- "pobierze wartość z formularza, w którym pole input nie było wypełnione." Puste pole zwykle skutkuje brakiem wartości lub pustym łańcuchem, co wymaga walidacji, ale nie jest to automatycznie błąd składni. To problem danych wejściowych, a nie konstrukcji języka.
W praktyce, aby uniknąć takich pomyłek, warto stosować klamry nawet dla pojedynczych instrukcji i zwracać uwagę na komunikaty typu Parse error, bo wskazują one na problem w strukturze kodu, a nie w logice działania aplikacji.