KWALIFIKACJA INF3 - CZERWIEC 2022 (test 2)

PYTANIE NR 24.
W języku PHP zastosowano funkcję is_float(). Które z podanych wywołań tej funkcji zwróci wartość true?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
is_float() zwraca true tylko wtedy, gdy przekazana wartość jest typu zmiennoprzecinkowego (float). Wywołanie is_float(3.34) spełnia ten warunek. NULL ma osobny typ, '3,34' jest łańcuchem znaków, a 334 to liczba całkowita.

Pełne wyjaśnienie:

Funkcja is_float() w PHP służy do sprawdzania, czy przekazana do niej wartość ma typ float (liczba zmiennoprzecinkowa). Zwraca ona wartość logiczną true wyłącznie wtedy, gdy argument jest faktycznie typu float, a nie tylko "wygląda jak liczba".

Dlatego poprawne jest wywołanie is_float(3.34), ponieważ zapis z kropką dziesiętną oznacza w PHP liczbę zmiennoprzecinkową.

Pozostałe odpowiedzi są niepoprawne z typowych powodów:

  • is_float(NULL) zwraca false, bo NULL jest odrębnym typem oznaczającym brak wartości.
  • is_float('3,34') zwraca false, bo ujęcie w apostrofy oznacza łańcuch znaków (string), a dodatkowo w PHP standardowym separatorem dziesiętnym w zapisie liczbowym jest kropka, nie przecinek.
  • is_float(334) zwraca false, ponieważ 334 jest liczbą całkowitą (int), nawet jeśli w niektórych kontekstach mogłaby zostać skonwertowana do float. Funkcja sprawdza typ, a nie "możliwość konwersji".

W praktyce takie sprawdzanie typu przydaje się przy walidacji danych (np. z formularzy lub API), gdzie liczby często przychodzą jako tekst i wymagają jawnej konwersji oraz kontroli poprawności.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Funkcja is_float() sprawdza, czy podana wartość ma typ float (liczba zmiennoprzecinkowa). Zwraca true tylko dla wartości typu float, a dla innych typów (np. int, string, NULL) zwróci false.
Wartość 3.34 jest w PHP literałem liczby zmiennoprzecinkowej (ma część ułamkową zapisaną po kropce). Ponieważ typ argumentu jest float, is_float(3.34) zwraca true.
Nie, bo 334 to liczba całkowita (typ int). is_float() nie sprawdza, czy da się ją przekonwertować do float, tylko czy już jest typu float. Dla int zwróci false.
Ujęcie w apostrofy oznacza string, więc argument nie jest liczbą, tylko tekstem. Dodatkowo standardowo PHP używa kropki jako separatora dziesiętnego w literałach liczbowych. Dlatego is_float('3,34') zwróci false.
NULL ma w PHP osobny typ oznaczający brak wartości. Funkcja is_float() zwraca true wyłącznie dla typu float, więc dla NULL zwróci false.
Dane z formularza zwykle przychodzą jako string. Najpierw sprawdź format (np. kropka jako separator), a potem wykonaj konwersję i walidację. Samo is_float() na surowym wejściu często da false, bo to tekst.
Najczęściej myli się: liczbę całkowitą z float (np. 334), tekst wyglądający jak liczba (np. '3.34' lub '3,34') oraz założenie, że PHP automatycznie "domyśli się" typu. W testach is_float() ocenia typ argumentu.
Do szybkiej diagnostyki użyj var_dump(), bo pokazuje typ i wartość. Możesz też użyć funkcji typu is_float(), is_int(), is_string(). To pomaga wykryć, czy np. liczba nie została przekazana jako tekst.
Podobne są funkcje z rodziny is_*, np. is_int(), is_string(), is_bool(), is_null(). Wszystkie działają podobnie: zwracają true tylko dla konkretnego typu, bez "zgadywania".
Warto używać, gdy typ ma znaczenie dla logiki: obliczenia cen, wymiary, współczynniki, dane z API lub bazy. is_float() pomaga uniknąć błędów, gdy np. do obliczeń trafi tekst albo wartość pusta zamiast liczby.
info

To pytanie poprawnie rozwiązuje 57% zdających egzamin. średnie

Eksperci podkreślają: "is_float() zwraca true tylko wtedy, gdy przekazana wartość jest typu zmiennoprzecinkowego (float)."

Źródła:

  • PHP Manual: is_float — Finds whether a variable is a float, https://www.php.net/manual/en/function.is-float.php (dostęp: 2026-02-27)
  • PHP Manual: Data Types — Float, https://www.php.net/manual/en/language.types.float.php (dostęp: 2026-02-27)
  • PHP Manual: Type Comparison Tables / Type Juggling (ogólnie o typach i konwersjach), https://www.php.net/manual/en/types.comparisons.php (dostęp: 2026-02-27)

Materiały:

  • Oficjalna dokumentacja PHP – funkcje kontroli typów (is_*)
  • Ćwiczenia z typów danych i porównań w PHP (małe skrypty testujące var_dump)
  • Materiały o walidacji danych wejściowych i sanitizacji w aplikacjach PHP

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego