Treci la conținutul principal

Conversia de tip în PHP

Conversia de tip (type casting) înseamnă transformarea deliberată a unei valori în alt tip de date, de exemplu a unui float într-un număr întreg. În loc să lași decizia pe seama lui PHP, alegi tu tipul pe care îl va avea o variabilă.

Sintaxa este scurtă: scrie tipul dorit între paranteze chiar înaintea variabilei sau a valorii.

Iată operatorii de conversie:

  • (string) - dă un String
  • (int) - dă un Integer
  • (float) - dă un Float
  • (bool) - dă un Boolean
  • (array) - dă un Array
  • (object) - dă un Object
  • (unset) - învechit; dă NULL

Conversie la String

Pune (string) în fața unei variabile sau a unei valori ca să o transformi într-un șir de caractere.

Exemplu de conversie la string

Cinci valori de tipuri diferite devin șiruri de caractere, iar var_dump() confirmă rezultatul. Observă că true devine „1”, iar NULL devine un șir de caractere gol:

Prompt
Scrie un script PHP care creează variabile de tipuri diferite (integer 5, float 5.34, șirul de caractere "hello", boolean true, NULL) și convertește fiecare la string folosind (string), apoi folosește var_dump() pentru verificare.
Ieșire: script PHP

Conversie la Integer

Obții un număr întreg când (int) stă chiar înaintea unei variabile sau a unei valori.

Exemplu de conversie la integer

Aici, valori de mai multe tipuri sunt convertite la integer. Scriptul face doar conversiile, așa că nu afișează nimic:

Prompt
Scrie un script PHP care creează variabile de tipuri diferite (integer, float, șiruri de caractere, boolean, NULL) și convertește fiecare la integer folosind (int).
Ieșire: script PHP

Conversie la Float

Pentru un float, scrie (float) în fața variabilei sau a valorii.

Exemplu de conversie la float

Din nou, valorile sunt doar convertite, de data aceasta la float, așa că nu se afișează nimic:

Prompt
Scrie un script PHP care creează variabile de tipuri diferite și convertește fiecare la float folosind (float).
Ieșire: script PHP

Conversie la Boolean

Dacă scrii (bool) înaintea unei variabile sau a unei valori, obții un boolean.

Rezultatul este false pentru 0, NULL, false și orice este gol. Orice altceva devine true, inclusiv numerele negative precum -1.

Exemplu de conversie la boolean

Aici, nouă valori sunt convertite la boolean. Doar $c, $g și $i devin false, deși scriptul nu afișează nimic:

Prompt
Scrie un script PHP care creează variabile de tipuri diferite, inclusiv 0, -1, 0.1, șir de caractere gol și NULL, apoi convertește fiecare la boolean folosind (bool).
Ieșire: script PHP

Conversie la Tablou

Folosește (array) înaintea unei variabile sau a unei valori ca să obții un tablou.

Rezultatul depinde de ce ai la început. Majoritatea tipurilor devin un tablou indexat cu un singur element, iar NULL devine un tablou gol.

Un obiect devine un tablou asociativ: fiecare nume de proprietate se transformă într-o cheie, iar fiecare valoare de proprietate în valoarea acelei chei.

Exemplu de conversie la tablou

Fiecare dintre aceste valori devine un tablou. Nu apare niciun rezultat, deoarece scriptul nu le afișează niciodată:

Prompt
Scrie un script PHP care creează variabile de tipuri diferite și convertește fiecare la tablou folosind (array).
Ieșire: script PHP

Transformă un obiect în tablou

Aici, un obiect Car devine un tablou, iar var_dump() îi arată cele două proprietăți drept chei:

Prompt
Scrie un script PHP care definește o clasă Car cu proprietățile color și model, creează o instanță, o convertește în tablou și folosește var_dump() pentru a afișa rezultatul.
Ieșire: script PHP

Conversie la Object

Folosește (object) înaintea unei variabile sau a unei valori ca să obții un obiect.

Majoritatea tipurilor ajung un obiect cu o singură proprietate numită „scalar”, care păstrează valoarea originală. NULL dă un obiect gol.

Tablourile se transpun firesc în proprietăți. Într-un tablou indexat, fiecare număr de index devine un nume de proprietate; într-un tablou asociativ, fiecare cheie devine un nume de proprietate. În ambele cazuri, valorile tabloului devin valorile proprietăților.

Exemplu de conversie la object

Fiecare dintre aceste valori devine un obiect. Scriptul nu afișează nimic:

Prompt
Scrie un script PHP care creează variabile de tipuri diferite și convertește fiecare la obiect folosind (object).
Ieșire: script PHP

Transformă tablouri în obiecte

Un tablou indexat și un tablou asociativ devin obiecte. Din nou, nu există niciun rezultat:

Prompt
Scrie un script PHP care creează un tablou indexat și un tablou asociativ, apoi le convertește pe amândouă în obiecte folosind (object).
Ieșire: script PHP

Conversie la NULL

Notă: PHP 7.2.0 a declarat învechită conversia (unset), iar PHP 8.0.0 a eliminat-o.

Ca să obții NULL astăzi, pur și simplu atribuie NULL variabilei:

Exemplu de conversie la NULL

Indiferent de tipul pe care îl avea înainte fiecare variabilă, după această atribuire este NULL. Nu se afișează nimic:

Prompt
Scrie un script PHP care creează variabile de tipuri diferite și setează fiecare la NULL.
Ieșire: script PHP