34 PHP i MySQL dla każdego
34 PHP i MySQL dla każdego
Rysunek 2.6.
Ilustracja różnic w sposobie interpretacji ciągów znakowych
Plik Edycja Widok Przejdź Zakładki Narzędzia Pomoc
• 9 & © [ Lu http://localhost/index.php
^ Rozpocznij przygód... I ; Aktualności
Wartość zmiennej = Sliczba Wartość zmiennej = 100
Powstała tu zmienna o nazwie liczba, której została przypisana wartość 100. Ponieważ ciąg znaków przeznaczony do wyświetlenia w pierwszej instrukcji echo został ujęty w znaki apostrofu, PHP nie dokonało żadnej interpretacji tego ciągu, tylko wyświetliło go w pierwotnej postaci. Druga instrukcja echo umieszcza w danych wyjściowych znacznik <br>. Trzecia instrukcja echo wyświetla ciąg znaków, który został ujęty w znaki cudzysłowu, a zatem przed wyświetleniem ciąg ten został przetworzony, tak że zamiast nazwy zmiennej liczba została wstawiona jej wartość. Obowiązują przy tym następujące zasady:
♦ jeżeli zmienna jest typu znakowego, zawarty w niej ciąg znaków jest wklejany do ciągu bieżącego;
♦ jeżeli zmienna jest innego typu niż znakowy, najpierw następuje jej konwersja na typ string (zob. sekcja „Konwersje typów”), a następnie zostaje ona wklejona do ciągu bieżącego;
♦ jeżeli zmienna nie zawiera żadnej wartości, jest traktowana jak pusty ciąg znaków.
Dzięki temu, że ciągi ujęte w znaki cudzysłowu są interpretowane przez PHP, można stosować w nich sekwencje znaków specjalnych. Sekwencje te zostały przedstawione w tabeli 2.1. Dodatkowo, jeśli poprzedzimy ukośnikiem liczbę, zostanie ona potraktowana jako kod znaku w notacji ósemkowej. Podobnie poprzedzenie liczby sekwencją \x (np. \xf, \x61) spowoduje, że zostanie ona potraktowana jako kod w notacji szesnastkowej. Należy pamiętać, że do dyspozycji mamy jedynie 256 różnych wartości (od 0 do 255), zatem liczba ósemkowa może mieć co najwyżej trzy, a liczba szesnastkowa maksymalnie dwie cyfry. Sposób wykorzystania sekwencji znaków specjalnych ilustruje skrypt widoczny na listingu 2.7.
Tabela 2.1. Kodowanie znaków specjalnych
Sekwencja znaków |
Znaczenie |
\n |
nowa linia |
\r |
powrót karetki |
\t |
tabulator |
W |
lewy ukośnik |
\$ |
znak dolara |
\" |
znak cudzysłowu |