środa,
PHP: Typy danych
W języku PHP istnieje kilka podstawowych typów danych, które pozwalają programistom na przechowywanie i manipulowanie różnymi rodzajami informacji. Ważne jest zrozumienie typów danych, szczególnie w kontekście operacji, które wymagają określonych typów, takich jak operacje matematyczne, porównania, operacje na tablicach czy manipulacje ciągami znaków. Dobrym nawykiem jest świadome zarządzanie typami danych, co pomaga uniknąć błędów i nieoczekiwanego zachowania programu, PHP jest językiem programowania z luźnym typowaniem (ang. "loosely typed"), co oznacza, że początkujący programista może być narażony na problemy z tym związane.
Przegląd typów danych w języku PHP
String (ciąg znaków)
- Przechowuje ciągi znaków, które mogą być literami, numerami, symbolami lub kombinacją tych wszystkich.
- Przykład:
$str = "Hello CKZiU!";
Integer (liczba całkowita)
- Przechowuje liczby całkowite bez części dziesiętnej.
- Przykład:
$int = 42;
Float (liczba zmiennoprzecinkowa) / Double
- Przechowuje liczby z częścią dziesiętną.
- Przykład:
$float = 3.14;
Boolean (wartość logiczna)
- Reprezentuje prawdę (
true
) lub fałsz (false
). - Przykład:
$bool = true;
Array (tablica)
- Przechowuje wiele wartości w jednej zmiennej. Tablice mogą być indeksowane numerycznie, asocjacyjnie lub wielowymiarowo.
- Przykład:
$array = array("jabłko", "banan", "kiwi");
Object (obiekt)
- Przechowuje instancje klas, zawierającą dane i funkcje do ich manipulowania.
Przykład:
class Car { function Car() { $this->model = "VW"; } } $herbie = new Car();
NULL
- Reprezentuje zmienną bez wartości.
- Przykład:
$x = NULL;
Resource (zasób)
- Specjalny typ używany do przechowywania odniesień do zasobów zewnętrznych, takich jak połączenia z bazą danych, pliki itp.
- Nie jest możliwe stworzenie przykładu bez odpowiedniego kontekstu, np. otwarcia pliku lub połączenia z bazą danych.
Konwersja i sprawdzanie typów
PHP jest językiem o słabej kontroli typów, co oznacza, że w wielu przypadkach automatycznie konwertuje typy danych w zależności od kontekstu. Jednak programiści mogą również jawnie konwertować typy danych, m.in. używając mechanizmu rzutowania np. (int)
, (float)
, (string)
itp. Do sprawdzania typu danych służą różne funkcje, takie jak gettype()
, is_int()
, is_string()
, is_array()
, is_null()
itp.
type_casting - Jawna konwersja typów
- W PHP możesz także zmienić typ zmiennej, używając rzutowania, np.
(int)
,(float)
,(string)
,(array)
. - Przykład:
$intVariable = (int)$variable;
Funkcje języka PHP związane z typami danych
W PHP istnieje wiele wbudowanych funkcji, które pozwalają na sprawdzanie i manipulowanie typami danych. Są one niezwykle przydatne, ponieważ PHP jest językiem o słabym typowaniu, co oznacza, że typ zmiennej nie musi być jawnie deklarowany i może zmieniać się dynamicznie. Ich znajomość jest potrzebna, zwłaszcza w sytuacjach wymagających ścisłej kontroli nad typami danych, np. w operacjach matematycznych, logicznych czy przy pracy z bazami danych. Dobrze jest mieć na uwadze, że nieprawidłowe zarządzanie typami danych może prowadzić do błędów i nieoczekiwanego zachowania aplikacji.
gettype(): Pobieranie typu zmiennej
- Zwraca typ zmiennej jako ciąg znaków.
- Przykład:
echo gettype($variable);
settype(): Ustawianie typu zmiennej
- Ustawia typ zmiennej.
- Przykład:
settype($variable, "string");
is_array(), is_bool(), is_float(), is_int(), is_string(), is_object(), is_null(): Sprawdzanie typu zmiennej
- Te funkcje pozwalają sprawdzić, czy zmienna jest danego typu (np. tablicą, liczbą całkowitą, ciągiem znaków, itd.).
- Przykłady:
is_int($variable)
,is_string($variable)
intval(), floatval(), strval(): Konwersja typów zmiennych
- Te funkcje konwertują zmienną na określony typ (int, float, string).
- Przykłady:
intval($variable)
,floatval($variable)
is_numeric(): Sprawdzanie, czy zmienna jest liczbą lub łańcuchem Numerycznym
- Sprawdza, czy zmienna jest liczbą lub ciągiem znaków zawierającym liczbę.
- Przykład:
is_numeric($variable)
is_scalar(): Sprawdzanie, czy zmienna jest skalarna
- Sprawdza, czy zmienna jest typu skalarnego (int, float, string lub bool).
- Przykład:
is_scalar($variable)
is_callable(): Sprawdzanie, czy zmienna jest wywoływalna
- Sprawdza, czy zawartość zmiennej może być wywołana jako funkcja.
- Przykład:
is_callable($variable)
is_iterable(): Sprawdzanie, czy zmienna jest iterowalna
- Sprawdza, czy zmienna jest tablicą lub obiektem implementującym interfejs
Traversable
, co oznacza, że można ją przetworzyć za pomocą pętliforeach
. - Przykład:
is_iterable($variable)