Strona główna › Pytania INF.03 › Pytanie 1706
INF.03 · pytanie #1706
W języku PHP wartość 1 została przypisana do zmiennej $a. Porównanie $a === $b zwraca true, gdy zmienna $b ma wartość
- AB. '1'
- BC. 1 lub '1'
- CA. *1
- DD. "1" lub '1'
Poprawna odpowiedź: C. A. *1
Kliknij odpowiedź, którą uważasz za poprawną.
Wyjaśnienie
Porównanie w języku PHP za pomocą operatora identyczności (===) sprawdza zarówno wartość, jak i typ zmiennych. W przypadku, gdy zmienna $a została zainicjowana wartością 1 jako liczba całkowita (integer), operator ten zwróci true, jeśli zmienna $b również będzie miała wartość 1 jako liczba całkowita. Jest to kluczowe, ponieważ operator === nie przeprowadza konwersji typów, co oznacza, że porównywane zmienne muszą być tego samego typu. Wartości 1, '1' (string) czy "1" (również string) nie będą wystarczające, ponieważ są one w innych typach niż 1 (integer). Dlatego poprawna odpowiedź to A. 1. W praktyce, użycie operatora identyczności jest zalecane w sytuacjach, gdy potrzebujemy pewności, że porównywane wartości są identyczne, co zapobiega potencjalnym błędom, które mogą wyniknąć z niezamierzonych konwersji typów. Warto także zauważyć, że dobre praktyki programistyczne w PHP zalecają unikanie używania operatorów porównania, które mogą prowadzić do niejednoznacznych wyników, takich jak ==, jeśli nie jest to absolutnie konieczne.
🤖 Wyjaśnienie generowane przez AI – weryfikuj w oficjalnych źródłach.