Reklama
Wizyt
Dzisiaj: 530Wszystkich: 541142

Typy danych

Technikum » PAI » Język PHP » Składnia języka PHP » Typy danych

W większości języków programowania każda zmienna ma swój typ. Określa on, jakiego rodzaju wartości mogą zostać przypisane do zmiennej. W języku PHP typ danych określany jest w zależności od kontekstu, w jakim zmienna została użyta.

Występujące w PHP typy danych można podzielić na trzy rodzaje.

Typy skalarne, czyli typy proste. Należą do nich:

  • typ boolean,
  • typ integer,
  • typ float lub double,
  • typ string.


Typy złożone
. Należą do nich:

  • typ array (tablicowy),
  • typ object (obiektowy).


Typy specjalne
. Należą do nich:

  • typ resource,
  • typ null.

 

Typ boolean


Jest to typ logiczny. Przyjmuje jedną z dwóch wartości: prawda (true) lub fałsz (false). Wartości typu logicznego są wykorzystywane przy:

  • budowaniu wyrażeń logicznych,
  • porównywaniu danych,
  • sprawdzaniu warunków.

 

Typ integer


Jest to typ liczb całkowitych. Może służyć do przedstawiania dodatnich i ujemnych liczb całkowitych. Liczby mogą zostać zapisane w formacie dziesiętnym, ósemkowym (oktalnym) lub szesnastkowym (heksadecymalnym). Domyślnie stosowany jest format dziesiętny. Liczby w formacie ósemkowym należy poprzedzić znakiem 0 (zero). Liczby w formacie szesnastkowym należy poprzedzić znakami 0x. Przy zapisie szesnastkowym można używać dużych i małych liter od A do F. W przypadku przekroczenia zakresu wartość jest konwertowana do typu float.

Typ float


Jest to liczba zmiennoprzecinkowa (zmiennopozycyjna, rzeczywista). Może przedstawiać zarówno dodatnie, jak i ujemne liczby rzeczywiste. Ich zakres jest zależny od platformy sprzętowo-systemowej. Do zapisu liczby można używać notacji wykładniczej.


Typ string


Jest to typ łańcuchowy, który służy do zapamiętywania ciągu znaków. Pojedynczy znak ciągu jest zapamiętywany w jednym bajcie. Łańcuch znaków można utworzyć, korzystając z jednego z czterech sposobów:

  • używając znaków apostrofu,
  • używając znaków cudzysłowu,
  • używając składni heredoc,
  • używając składni nowdoc.

 

Użycie znaków apostrofu

Ciąg znakowy można utworzyć poprzez ujęcie go w znaki apostrofu. Taki ciąg pojawi się na ekranie w większości przypadków w niezmienionej postaci. Jeżeli apostrof zostanie użyty jako jeden ze znaków ciągu, to należy poprzedzić go znakiem .

Przykład

 

 

Użycie znaków cudzysłowu

Drugim sposobem deklaracji ciągu znakowego jest ujęcie go w znaki cudzysłowu. Jeśli w takim ciągu wystąpi odwołanie do zmiennej, zostanie ono zmienione na wartość przypisaną do zmiennej.

Przykład

 

Użycie składni heredoc

Jeżeli używana jest składnia heredoc, ciąg znaków trzeba rozpocząć od sekwencji . Po tej sekwencji musi wystąpić identyfikator. Ten sam identyfikator musi zostać użyty na końcu ciągu znakowego. Nazwa identyfikatora powinna być tworzona według tych samych zasad, które obowiązują przy tworzeniu nazw zmiennych. Linia zawierająca identyfikator kończący ciąg nie może zawierać żadnych innych znaków oprócz tego identyfikatora i średnika.

Przykład



Jeżeli w ciągu znaków wystąpi odwołanie do zmiennej, podobnie jak w przypadku składni z cudzysłowami, zostanie ono zmienione na wartość przypisaną do zmiennej. Ten sposób tworzenia napisów jest wykorzystywany, kiedy są one długie i składają się z wielu linii.

 

Użycie składni nowdoc

Składnia nowdoc jest podobna do składni heredoc. Różnica w definicji typu polega na umieszczeniu identyfikatora w znakach apostrofu. Różnica w działaniu polega na tym, że gdy w ciągu znaków wystąpi odwołanie do zmiennej, nie jest ona zamieniana na odpowiadającą jej wartość.

Przykład

 

Typ array


Tablice przechowują zbiory danych najczęściej jednego typu, a dostęp do nich jest możliwy przez indeks. Tablice mogą być jednowymiarowe lub wielowymiarowe.
Struktury tablicowe w PHP są tworzone na bieżąco przez przypisanie wartości dla poszczególnych indeksów albo za pomocą instrukcji array(). W PHP można tworzyć tablice zwykłe, które są indeksowane kolejnymi liczbami całkowitymi (tablice indeksowane), oraz tablice asocjacyjne, które są indeksowane kluczem.

Tablice indeksowane

Są dwa sposoby tworzenia tablic indeksowanych:

  • przez automatyczne tworzenie indeksu lub
  • przez jego ręczne przypisanie.

Polecenie array dla tablic indeksowanych tworzonych przez automatyczne przypisanie indeksu ma postać:


Powstała zmienna jest zmienną typu tablicowego, natomiast t1, t2, . .., tn to kolejne wartości znajdujące się w tablicy.

Składnia tworzenia tablicy indeksowanej przez ręczne przypisanie indeksu ma postać:

 

Numer indeksu może zostać pominięty. Wtedy nawiasy kwadratowe powinny pozostać puste - PHP nada te indeksy automatycznie.

Niezależnie od tego, jak tablica została utworzona, można do niej dodać kolejny element. Jeżeli podczas przypisywania wartości dla kolejnej pozycji tabeli nawiasy kwadratowe pozostaną puste, zostanie jej nadany kolejny indeks tabeli. Stosując tę metodę, można uniknąć sytuacji, w której indeksy zostaną źle ponumerowane. Jeżeli w ten sposób będą dodawane wpisy do nowej tabeli, to pierwszy z nich będzie miał indeks równy 0.

Przykład



Przykład





Przykład

 

Tablice asocjacyjne

Tablice asocjacyjne, czyli tablice skojarzeniowe (ang. associative array), to tablice, w których zamiast indeksów liczbowych używa się identyfikatorów (tzw. kluczy). W danych tego typu przechowywane są pary danych: unikatowy klucz i wartość. Dostęp do wartości uzyskuje się poprzez podanie wartości klucza. Różnica między tablicą indeksowaną a tablicą asocjacyjną polega na wartości klucza. Dla tablic indeksowanych klucz jest liczbą, dla tablic asocjacyjnych jest on ciągiem znaków mających określone znaczenie.

Polecenie array dla tablic asocjacyjnych ma postać:

 

lub




Przykład


Przykład


 


Tablice wielowymiarowe

W języku PHP można tworzyć tablice wielowymiarowe. Są to tablice, które zawierają w sobie inne tablice.

 

Przykład

Każdy z elementów tablicy $dane to tablica asocjacyjna składająca się z trzech elementów: nazwisko, imię, wiek. Aby wyświetlić zawartość tej tablicy, należy użyć indeksu elementu głównego razem z nazwą klucza elementu wewnętrznego.

Przykład

Wynikiem będzie wyświetlenie tekstu Tomasz.

 

Typ object


Jest to typ służący do przechowywania obiektów.

 

Typ resource


Jest to specjalny typ, wskazujący, że zmienna przechowuje odwołanie do zasobu zewnętrznego (aplikacji lub pliku) utworzonego za pomocą specjalnych funkcji.

 

Typ null


Typ null jest przeznaczony dla zmiennych, które zostały zadeklarowane, ale nie przypisano im żadnych wartości. Wielkość liter przy deklaracji tego typu nie ma znaczenia. Poprawne są zapisy: NULL, null, Null i inne.


Przykład

 

Zmiana typu zmiennej


W języku PHP podczas przypisywania zmiennej nowej wartości ponownie ustalany jest jej typ. Czasami zachodzi jednak konieczność zmiany typu danych. Można tego dokonać za pomocą rzutowania (cast) — wtedy efekt jest jednorazowy — lub za pomocą funkcji settype () — wtedy efekt jest trwały.

Rzutowanie typów odbywa się przez podanie nowego typu w nawiasie przed zmienną lub wartością, której typ należy zmienić. Dozwolone są określone typy rzutowań. Są to:

  • integer — rzutowanie do typu całkowitego,
  • float (double) — rzutowanie do typu rzeczywistego,
  • string — rzutowanie do ciągu tekstowego,
  • array — rzutowanie do tablicy,
  • object — rzutowanie do obiektu.

Przykład


Zmianę typu w sposób trwały przeprowadza się za pomocą funkcji settype(). Funkcja ta posiada dwa argumenty. Pierwszym jest nazwa zmiennej, której nadajemy nowy typ, drugim parametr określający nowy typ zmiennej. Parametr ten może przyjmować wartości: integer, float, string, array, object.



Jeżeli zmiana typu przebiegła pomyślnie, funkcja zwraca wartość true. Gdy zmiana typu nie powiodła się, zwraca wartość false.


Przykład

 

  

Zadanie


1. Utwórz trzy zmienne. Pierwszej przypisz wartość liczby całkowitej, drugiej wartość liczby rzeczywistej, trzeciej ciąg znaków. Utwórz w języku PHP skrypt, który będzie wyświetlał wartości tych zmiennych na ekranie.

2. Utwórz cztery zmienne. Przypisz im wartości typu string. Do tworzenia zmiennych wykorzystaj po kolei każdy z czterech sposobów, używając znaków apostrofu, znaków cudzysłowu, składni heredoc oraz składni nowdoc. Utwórz w języku PHP skrypt, który będzie wyświetlał wartości tych zmiennych na ekranie. Przeanalizuj sposób wyświetlania zmiennych i ich wartości.

3. Utwórz tablicę indeksowaną zawierającą imiona osób z klasy. Wyświetl wszystkie elementy tej tablicy.

4. Utwórz tablicę asocjacyjną zawierającą nazwiska osób z klasy. Kluczem do elementów tablicy mają być imiona tych osób. Wyświetl wszystkie elementy tej tablicy.

Reklama