Professional Documents
Culture Documents
PRZYKADOWY ROZDZIA
SPIS TRECI
KATALOG KSIEK
KATALOG ONLINE
ZAMW DRUKOWANY KATALOG
TWJ KOSZYK
DODAJ DO KOSZYKA
CENNIK I INFORMACJE
ZAMW INFORMACJE
O NOWOCIACH
ZAMW CENNIK
CZYTELNIA
FRAGMENTY KSIEK ONLINE
Wydawnictwo Helion
ul. Chopina 6
44-100 Gliwice
tel. (32)230-98-63
e-mail: helion@helion.pl
Spis treci
O Autorze .....................................................................7
Wprowadzenie: PHP wita! .............................................9
Cz I
Cz II
Spis treci
Cz V
Dodatki .....................................................247
Dodatek A Instalacja PHP .........................................................249
Instalacje na platformie Linux (Unix) ............................................... 249
Instalacja w systemie Windows ........................................................ 253
Rozwizywanie problemw .............................................................. 254
Skorowidz ................................................................255
Rozdzia 2.
Zmienne
W tym rozdziale nauczymy si przypisywa wartoci do zmiennych w PHP oraz
wykorzystywa je w prostych wyraeniach.
Podstawowe wiadomoci
o zmiennych
Zmienne kontenery, w ktrych mona zapisywa wartoci do pniejszego
wykorzystania, s zasadniczymi komponentami kadego jzyka programowania.
Na przykad w skrypcie moe wystpowa zmienna o nazwie number, w ktrej
zapisano warto 5, albo zmienna o nazwie name, w ktrej zapisano warto
Krzysztof. Zmienne o podanych nazwach i wartociach zadeklarowano w nastpujcym kodzie:
$number = 5;
$name = "Krzysztof";
Cz I Podstawy PHP
26
Nazwy zmiennych
Im bardziej opisowe s nazwy zmiennych, tym atwiej rozpozna, do czego s
przeznaczone. Jest to szczeglnie wane jeli sigamy do skryptu kilka miesicy po jego napisaniu.
Oglnie rzecz biorc, nie naley do dobrego stylu stosowanie takich nazw zmiennych jak $a, $b itd. Prawdopodobnie niezbyt dugo bdziemy pamita, czego
dotycz okrelone litery. Dobra nazwa zmiennej zawiera informacje o wartociach, jakich dotyczy (na przykad $cena lub $nazwisko).
Wielko liter. W PHP w nazwach zmiennych rozrniane s wielkie i mae litery na przykad zmienna $nazwisko to co innego ni
$Nazwisko. W tym samym skrypcie w obu zmiennych mog by zapisane inne wartoci.
Rozdzia 2. Zmienne
27
$procent
$pct%
$imie_nazwisko
$imie-nazwisko
$wiersz_2
$2gi_wiersz
Wyraenia
Podczas przypisywania wartoci do zmiennej podawana warto nie musi by
literaem. Rwnie dobrze moe to by wyraenie poczone za pomoc operatora dwie (lub wicej) wartoci, ktre wsplnie tworz wynik. Zrozumienie
dziaania zaprezentowanego tu przykadu nie powinno nastrczy trudnoci.
Dokadny jego opis zamieszczono pod przykadem:
$sum = 16 + 30;
echo $sum;
16;
30;
= $a + $b;
$sum;
Wykonanie tego kodu powoduje dodanie wartoci zmiennych $a i $b. Tak jak
poprzednio, skrypt wywietla liczb 46.
28
Cz I Podstawy PHP
Typy danych
Kada zmienna, w ktrej zapisano warto, posiada typ danych. Typ danych
definiuje rodzaje wartoci, ktre mog by zapisane w zmiennej. Podstawowe
typy danych dostpne w PHP zestawiono w tabeli 2.2.
Rozdzia 2. Zmienne
29
Opis
Boolean
Ocena logiczna; moe mie warto TRUE (prawda) lub FALSE (fasz).
Integer
Dziaanie odwrotne do gettype ma funkcja settype, ktra umoliwia przesonicie typu danych zmiennej. Jeli zapisana w zmiennej warto nie moe by
zapisana przy uyciu nowego typu, jest modyfikowana do najbliszej moliwej
wartoci.
Nastpujcy kod jest prb przeksztacenia cigu znakw na liczb cakowit:
$value = "22nd January 2005";
settype($value, "integer");
echo $value;
W tym przypadku cig znakw rozpoczyna si od cyfr, ale nie reprezentuje liczby cakowitej. W wyniku konwersji przeksztacone bd wszystkie znaki od
pocztku cigu do pierwszego znaku, ktry nie jest liczb. Pozostaa cz cigu
znakw bdzie odrzucona, a zatem wykonanie tego kodu zwrci warto 22.
Analiza typw danych. W praktyce funkcji settype i gettype nie
wykorzystuje si zbyt czsto, poniewa nie ma zbyt wielu sytuacji,
w ktrych trzeba modyfikowa typ danych zmiennej. Jak ju powiedziano, PHP automatycznie przypisuje typ danych do zmiennej.
onglowanie typami
Czasami interpreter PHP przeprowadza niejawn konwersj typw danych. Dzieje
si tak w przypadku, gdy spodziewa si wartoci okrelonego typu. Takie dziaanie okrela si jako onglowanie typami (ang. type juggling).
30
Cz I Podstawy PHP
Na przykad operator dodawania powinien znajdowa si pomidzy dwoma liczbami. Przed wykonaniem operacji dodawania cigi znakw s przeksztacane na
wartoci typu double lub integer. Tak wic zaprezentowana poniej operacja
dodawania zwrci wynik w postaci liczby cakowitej:
echo 100 + "10 cali";
Wykonanie kodu powoduje dodanie liczb 100 i 10, dlatego w wyniku wywietlona zostanie liczba 110.
Podobny mechanizm dziaa w przypadku zastosowania operatora znakowego dla
danych liczbowych. W przypadku przeprowadzania operacji znakowej na danych liczbowych, wartoci liczbowe s najpierw przeksztacane na cigi znakw.
Z tak sytuacj zetknlimy si ju przy okazji omawiania operatora konkatenacji wywietlana zmienna $weight bya liczb.
Wynikiem dziaania operacji wykonywanych na cigach znakw zawsze jest cig
znakw, nawet wtedy, kiedy przypomina liczb. Wykonanie kodu zaprezentowanego w zamieszczonym niej przykadzie zwraca wynik 69, ale jak pokazuje wynik dziaania funkcji gettype zmienna $number zawiera cig znakw:
$number = 6.9;
echo $number;
echo gettype($number);
Rozbudowan list operatorw liczbowych i tekstowych przedstawimy w rozdziaach 5., Przetwarzanie liczb, oraz 6., Przetwarzanie cigw znakw.
Zmienne do przechowywania
nazw zmiennych
W PHP warto zapisan w zmiennej mona wykorzysta jako nazw innej
zmiennej. Jeli to nie brzmi zbyt zrozumiale, sprbujemy objani to za pomoc
nastpujcego przykadu:
$my_age = 21;
$varname = "my_age";
echo "Warto zmiennej $varname wynosi ${$varname}";
Poniewa cig znakw jest ujty w cudzysw, znak dolara oznacza, e warto
zmiennej stanie si czci cigu znakw. Konstrukcja ${$varname} spowoduje, e warto zmiennej, ktrej nazw zapisano w zmiennej $varname, stanie si
czci cigu znakw.
Rozdzia 2. Zmienne
31
Podsumowanie
W tym rozdziale moglimy zobaczy, jak posugiwa si zmiennymi w PHP.
W nastpnym dowiemy si, w jaki sposb korzysta z instrukcji warunkowych
i instrukcji ptli do zarzdzania przepywem sterowania w skryptach.