PHP obsługuje różnorodne typy danych, które można wykorzystać do przechowywania i manipulowania różnymi rodzajami informacji. Poniżej omówimy szczegółowo typy danych: null
, array
i object
, wraz z przykładami. Null Typ null
oznacza brak wartości. Zmienna ma wartość null
, gdy:
- Jest jawnie przypisana wartość
null
. - Zmienna nie została jeszcze zainicjalizowana.
- Zmienna została usunięta funkcją
unset()
.
Przykład:
<?php
$zmienna = null; // Jawne przypisanie wartości null
var_dump($zmienna); // Wyświetli: NULL
// Niezainicjalizowana zmienna
$niezainicjalizowana;
var_dump($niezainicjalizowana); // Wyświetli: NULL
// Usunięcie zmiennej
$usunieta = "tekst";
unset($usunieta);
var_dump($usunieta); // Wyświetli: NULL
?>
Array (Tablica) Tablice w PHP pozwalają na przechowywanie wielu wartości w jednej zmiennej. Mogą być indeksowane liczbowo (indeksowane) lub za pomocą kluczy (asocjacyjne). Tablice mogą być także wielowymiarowe. Rodzaje tablic:
- Tablica indeksowana:
<?php
$liczby = [10, 20, 30];
echo $liczby[0]; // Wyświetli: 10
?>
- Tablica asocjacyjna:
<?php
$dane = [
"imie" => "Jan",
"wiek" => 25
];
echo $dane["imie"]; // Wyświetli: Jan
?>
- Tablica wielowymiarowa:
<?php
$macierz = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
];
echo $macierz[1][2]; // Wyświetli: 6
?>
- Dynamiczne dodawanie elementów:
<?php
$owoce = [];
$owoce[] = "jabłko";
$owoce[] = "gruszka";
echo implode(", ", $owoce); // Wyświetli: jabłko, gruszka
?>
Funkcje pomocne przy tablicach:
count()
: Liczba elementów w tablicy.array_push()
: Dodaje elementy do końca tablicy.array_pop()
: Usuwa ostatni element tablicy.
Przykład:
<?php
$tablica = [1, 2, 3];
array_push($tablica, 4); // Dodanie elementu
print_r($tablica); // Wyświetli: Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )
array_pop($tablica); // Usunięcie ostatniego elementu
print_r($tablica); // Wyświetli: Array ( [0] => 1 [1] => 2 [2] => 3 )
?>
Object (Obiekt)
Obiekt jest instancją klasy. Jest to bardziej zaawansowany typ danych, który pozwala przechowywać właściwości i wykonywać operacje (metody) związane z obiektem.
Tworzenie klasy i obiektu
<?php
class Osoba {
public $imie;
public $wiek;
public function __construct($imie, $wiek) {
$this->imie = $imie;
$this->wiek = $wiek;
}
public function przedstaw() {
return "Mam na imię $this->imie i mam $this->wiek lat.";
}
}
$osoba = new Osoba("Anna", 30);
echo $osoba->przedstaw(); // Wyświetli: Mam na imię Anna i mam 30 lat.
?>
Dodawanie właściwości i metod w czasie działania programu
<?php
class Zwierze {
public $gatunek;
}
$kot = new Zwierze();
$kot->gatunek = "Kot domowy"; // Dodanie właściwości
echo $kot->gatunek; // Wyświetli: Kot domowy
?>
Sprawdzanie typu danych i właściwości obiektu
get_class()
: Zwraca nazwę klasy obiektu.property_exists()
: Sprawdza, czy obiekt posiada daną właściwość.
<?php
echo get_class($osoba); // Wyświetli: Osoba
echo property_exists($osoba, "imie") ? "Właściwość istnieje." : "Właściwość nie istnieje.";
// Wyświetli: Właściwość istnieje.
?>