MySQL Java JavaScript PHP Python HTML-CSS C-sharp

Obținerea și setarea tipului variabilei - Conversia tipurilor

Obținerea tipului variabilei

Pentru a obține tipul unei variabile se folosește funcția gettype(), care returnează denumirea tipului variabilei, de exemplu, integer (număr întreg), double (număr cu virgulă mobilă), string (șir), boolean (valoare logică), null, array (array), object (obiect) sau unknown type. De exemplu:

<?php
$a = 10;
$b = "10";
echo gettype($a); // integer
echo "<br>";
echo gettype($b);  // string
?>

De asemenea, există o serie de funcții speciale care returnează true sau false în funcție de tipul variabilei:

  • is_integer($a): returnează true dacă variabila $a conține un număr întreg
  • is_string($a): returnează true dacă variabila $a conține un șir
  • is_double($a): returnează true dacă variabila $a conține un număr real
  • is_numeric($a): returnează true dacă variabila $a reprezintă un număr întreg sau real sau este o reprezentare textuală a unui număr. De exemplu:
  <?php
 $a = 10;
 $b = "10";
 echo is_numeric($a); // true
 echo "<br>";
 echo is_numeric($b); // true
 ?>
  • is_bool($a): returnează true dacă variabila $a conține valoarea true sau false
  • is_scalar($a): returnează true dacă variabila $a reprezintă unul dintre tipurile simple: șir, număr întreg, număr real, valoare logică
  • is_null($a): returnează true dacă variabila $a conține valoarea null
  • is_array($a): returnează true dacă variabila $a este un array
  • is_object($a): returnează true dacă variabila $a conține o referință la un obiect

Setarea tipului - Funcția settype()

Cu ajutorul funcției settype() se poate seta un anumit tip pentru o variabilă. Ea primește doi parametri: settype("Variabilă", "Tip").

Primul parametru este variabila al cărei tip trebuie setat, iar al doilea este o descriere textuală a tipului, așa cum este returnată de funcția gettype().

Dacă tipul a fost setat cu succes, funcția returnează true, în caz contrar returnează false.

De exemplu, să setăm tipul întreg pentru o variabilă:

<?php
$a = 10.7;
settype($a, "integer");
echo $a; // 10
?>

Deoarece variabila $a reprezintă un număr real 10.7, aceasta poate fi convertită în număr întreg prin tăierea părții zecimale. Astfel, în acest caz funcția settype() va returna true.

Conversia tipurilor

Implicit, PHP convertește automat valoarea variabilei dintr-un tip în altul, dacă este necesar. Din acest motiv, conversiile explicite nu sunt necesare foarte des în PHP. Totuși, ele pot fi utilizate.

Pentru conversia explicită, se specifică tipul între paranteze înaintea variabilei:

<?php
$boolVar = false;
$intVar = (int)$boolVar; // 0
echo "boolVar = $boolVar<br>intVar = $intVar";
?>

În acest caz, valoarea false este convertită într-o valoare de tip int, care va fi stocată în variabila $intVar. Valoarea false este convertită în numărul 0. După aceasta, putem folosi această valoare ca un număr.

Când se folosește expresia echo pentru a afișa variabilele pe pagină, valorile transmise sunt convertite automat în șiruri. Și deoarece variabila boolVar este false, valoarea ei va fi convertită într-un șir gol. În timp ce valoarea 0 va fi convertită în șirul "0".

În PHP se pot folosi următoarele conversii:

  • (int), (integer): conversie în int (număr întreg)
  • (bool), (boolean): conversie în bool
  • (float), (double), (real): conversie în float
  • (string): conversie în șir
  • (array): conversie în array
  • (object): conversie în obiect
← Lecția anterioară Lecția următoare →