Lekcja 2. Zmienne i typy danych w PHP
PodstawowyPo co się tego uczymy?
Każdy skrypt PHP — formularz, koszyk, licznik odwiedzin — musi gdzieś przechowywać dane w trakcie działania. Zmienne to pierwsza, najbardziej podstawowa umiejętność, bez której nie da się napisać niczego więcej.
Teoria
W PHP zmienną tworzysz, poprzedzając jej nazwę znakiem dolara: $nazwa. W przeciwieństwie do C#, NIE musisz podawać typu zmiennej — PHP sam rozpozna, czy trzymasz w niej liczbę, tekst czy coś innego. To się nazywa typowanie dynamiczne.
Najważniejsze typy danych w PHP:
int — liczba całkowita, np. 17.
float (albo double) — liczba z częścią dziesiętną, np. 19.99.
string — tekst, w cudzysłowie pojedynczym lub podwójnym.
bool — true albo false.
array — tablica (osobna lekcja).
null — brak wartości.
Różnica między cudzysłowami: w podwójnym cudzysłowie ("...") PHP podstawia wartości zmiennych wewnątrz tekstu; w pojedynczym ('...') tekst jest traktowany dosłownie. Możesz sprawdzić typ zmiennej funkcją var_dump() albo gettype().
Przykład z życia
Kiedy wypełniasz formularz rejestracji na stronie, wpisane przez Ciebie imię, e-mail i hasło trafiają w PHP właśnie do zmiennych — dopiero z nich program zapisuje dane do bazy albo wyświetla komunikat powitalny.
Kod (PHP)
<?php
$imie = "Julia";
$wiek = 17;
$srednia = 4.75;
$jestUczniem = true;
// W podwójnym cudzysłowie PHP podstawia wartość zmiennej wprost do tekstu
echo "Cześć, mam na imię $imie i mam $wiek lat.<br>";
// W pojedynczym cudzysłowie zmienna NIE zostanie podstawiona
echo 'Tekst z $imie zostanie wypisany dosłownie.<br>';
echo "Średnia ocen: " . $srednia . "<br>";
var_dump($wiek);
var_dump($srednia);
var_dump($jestUczniem);
Komentarz i wyjaśnienie kodu
Zwróć uwagę na różnicę między dwoma rodzajami cudzysłowów w liniach z echo — w podwójnym cudzysłowie $imie w środku tekstu zamienia się na "Julia", a w pojedynczym zostaje dosłownie jako $imie. var_dump() na końcu pokazuje nie tylko wartość zmiennej, ale i jej typ — to bardzo przydatne narzędzie do sprawdzania, czy PHP naprawdę rozumie dane tak, jak myślisz.
Ćwiczenie samodzielne
Dodaj zmienną $miasto i wypisz zdanie łączące wszystkie zmienne z przykładu w jednym, sensownym akapicie.
Zadania do pracy własnej
Zadeklaruj zmienne przechowujące tytuł, reżysera i rok produkcji Twojego ulubionego filmu, a następnie wypisz je w jednym zdaniu.
Zadeklaruj dwie zmienne z cenami dwóch produktów (float) i jedną zmienną z ilością sztuk (int), a następnie oblicz i wypisz łączną wartość zakupu.
Napisz skrypt z sześcioma zmiennymi opisującymi jeden film (tytuł, gatunek, rok, ocena, czy dostępny, cena wypożyczenia) i wypisz je jako czytelną, sformatowaną kartę filmu w HTML-u (użyj i
).
Typowe błędy
Częsty błąd to zapomnienie znaku dolara przy używaniu zmiennej (np. echo imie; zamiast echo $imie;) — PHP zgłosi wtedy błąd nieznanej stałej. Drugi błąd: pomylenie cudzysłowów — oczekiwanie, że zmienna "podstawi się" w tekście otoczonym pojedynczymi cudzysłowami. Trzeci: literówka wielkości liter w NAZWIE ZMIENNEJ — $Imie i $imie to w PHP dwie RÓŻNE zmienne (w odróżnieniu od nazw funkcji, gdzie wielkość liter nie ma znaczenia).
Nawiązanie do egzaminu zawodowego
To realizacja efektu INF.03.5.2.4 ("posługuje się typami prostymi i złożonymi, zmiennymi i operatorami w skryptowych językach programowania") — fundament, na którym opierają się wszystkie kolejne lekcje tego działu.