Przejdź do głównej treści

Typowanie w PHP

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

PHP jest językiem dynamicznie typowanym i historycznie kojarzonym ze słabą kontrolą typów. Oznacza to, że typ zmiennej nie musi być deklarowany przed jej użyciem, a interpreter może automatycznie konwertować wartości między typami, gdy wymaga tego kontekst.

Dynamiczne typowanie

W PHP zmienna otrzymuje typ na podstawie przypisanej wartości:

$liczba = 10;      // integer
$tekst = "10";    // string
$aktywny = true;   // boolean

Nie trzeba pisać typu przy deklaracji zmiennej, np. int $liczba = 10; nie jest obowiązkowe w zwykłym przypisaniu.

Słaba kontrola typów

PHP często wykonuje niejawne konwersje typów. Przykład:

$wynik = "5" + 2;
echo $wynik; // 7

Tekst "5" został automatycznie potraktowany jak liczba. To ułatwia szybkie pisanie kodu, ale może prowadzić do błędów, jeśli programista nie kontroluje danych.

Porównania w PHP

W PHP ważna jest różnica między == i ===:

var_dump("5" == 5);   // true
var_dump("5" === 5);  // false

Operator == porównuje wartości po możliwej konwersji typów, a === sprawdza także typ.

Wniosek egzaminacyjny

Poprawne twierdzenie: PHP jest językiem o słabej kontroli typów. W praktyce oznacza to automatyczne konwersje typów oraz brak konieczności wcześniejszego deklarowania typu zmiennej.