Tipuri de date în PHP
O variabilă poate conține multe feluri de date, iar ce poți face cu o valoare depinde de tipul ei. PHP lucrează cu aceste tipuri: String, Integer, Float (cunoscut și ca double), Boolean, Array, Object, NULL, Resource.
String în PHP
Șirurile de caractere conțin text: o serie de caractere precum „Hello world!”. Pune textul între ghilimele simple sau duble, iar PHP îl va trata ca șir de caractere.
Exemplu de șir de caractere
Aceste două variabile conțin același text, scris o dată cu ghilimele duble și o dată cu ghilimele simple:
Ieșire: script PHP
<?php
$x = "Hello world!";
$y = 'Hello world!';
echo $x;
echo "<br>";
echo $y;
?>
Integer în PHP
Numerele întregi nu au parte zecimală. Pe sistemele pe 32 de biți, ele merg de la -2,147,483,648 la 2,147,483,647. Când scrii unul, ai nevoie de cel puțin o cifră, fără punct zecimal, iar valoarea poate fi pozitivă sau negativă. Îl poți scrie în format zecimal (baza 10), hexazecimal (baza 16, începând cu 0x) sau octal (baza 8, începând cu 0).
Ca să vezi tipul unei valori împreună cu valoarea, folosește var_dump().
Exemplu de integer
Aici var_dump() confirmă că $x este un număr întreg:
Ieșire: script PHP
<?php
$x = 5985;
var_dump($x);
?>
Float în PHP
Valorile float, prescurtare de la numere în virgulă mobilă (floating point), au punct zecimal sau sunt scrise în formă exponențială. Din nou, var_dump() poate arăta atât tipul, cât și valoarea.
Exemplu de float
Aici var_dump() confirmă că $x este un float:
Ieșire: script PHP
<?php
$x = 10.365;
var_dump($x);
?>
Boolean în PHP
Un Boolean are doar două valori posibile, TRUE și FALSE. Le vei întâlni mai ales în condiții, unde codul tău decide ce să facă mai departe.
Valori booleene
Aici câte o variabilă primește fiecare valoare booleană:
<?php
$x = true;
$y = false;
?>
Tablouri în PHP
Cu un tablou, o singură variabilă poate conține mai multe valori deodată. Ca și la celelalte tipuri, var_dump() dezvăluie tipul și conținutul.
Exemplu de tablou
Rezultatul arată lungimea tabloului și fiecare element cu indexul, tipul și valoarea lui:
Ieșire: script PHP
<?php
$cars = array("Volvo", "BMW", "Toyota");
var_dump($cars);
?>
Object în PHP
Programarea orientată pe obiecte se bazează pe două idei: clase și obiecte. Gândește-te la o clasă ca la un șablon, iar la un obiect ca la o instanță creată din el. Fiecare obiect primește proprietățile și comportamentele definite în clasă, dar fiecare poate avea propriile valori ale proprietăților.
Dacă îi dai unei clase o funcție __construct(), PHP o apelează pentru tine de fiecare dată când creezi un obiect din acea clasă.
Exemplu de obiect
Clasa Car servește aici drept șablon pentru trei obiecte, fiecare cu propria culoare și propriul model:
Ieșire: script PHP
<?php
class Car {
public $color;
public $model;
public function __construct($color, $model) {
$this->color = $color;
$this->model = $model;
}
public function message() {
return "Mașina mea este un " . $this->color . " " . $this->model . "!";
}
}
$myCar = new Car("red", "Volvo");
echo $myCar->message();
echo "<br>";
$myCar = new Car("green", "BMW");
echo $myCar->message();
echo "<br>";
$myCar = new Car("blue", "Toyota");
echo $myCar->message();
?>
Valoarea NULL în PHP
Tipul de date Null este neobișnuit, pentru că are o singură valoare posibilă: NULL. Ea înseamnă că unei variabile nu i s-a atribuit nicio valoare. PHP dă automat această valoare unei variabile create fără valoare, iar tu o poți seta singur ca să golești o variabilă.
Exemplu de NULL
$x începe cu un șir de caractere și apoi este golită, așa că var_dump() raportează NULL:
Ieșire: script PHP
<?php
$x = "Hello world!";
$x = null;
var_dump($x);
?>
Schimbarea tipului de date
Tipul unei variabile PHP urmează valoarea ei. Atribuie un număr întreg și variabila este de tip integer; atribuie mai târziu aceleiași variabile un șir de caractere și ea devine șir de caractere. Ca să schimbi singur tipul, folosește facilitatea casting din PHP sau funcția settype().
Casting pentru schimbarea tipului
Aici $x începe ca număr întreg, iar o conversie îl transformă într-un șir de caractere:
Ieșire: script PHP
<?php
$x = 5;
$x = (string) $x;
var_dump($x);
?>