Conversia explicită a tipurilor
February 22, 2008 – 5:11 pmConversia explicită a tipurilor (cast) se face în acelaşi mod ca în C: numele tipului dorit este scris în paranteze înaite de numele variabilei.
$a = 10; // $a este un intreg
$bar = (double) $a; // $bar este un double
Conversiile permise sunt:
- (int), (integer) – conversia la întreg
- (real), (double), (float) – conversie la double
- (string) – conversie la şir
- (array) – conversie la tablou
- (object) – conversie la obiect
Observaţi că eticheta şi spaţiile sunt permise între paranteze, deci liniile următoare sunt echivalente:
$a = (int) $bar;
$a = ( int ) $bar;
$a = (int)$bar;
Este posibil ca rezultatul conversiei explicite între două tipuri să nu fie evident.
De exemplu convertind un scalar sau un şir de caractere la tipul array, respectiva variabilă va deveni primul element al tabloului ca în exemplul de mai jos:
$var = ‘ciao’;
$arr = (array) $var;
echo $arr[0]; // Afiseaza ciao
Când convertiţi un scalar sau o variabilă de tip şir de caractere la un obiect, respectiva variabilă va deveni un atribut al obiectului, atribut numit scalar.
Ex:
$var = ‘ciao’;
$obj = (object) $var;
echo $obj->scalar; // Afiseaza ciao





De 3 ani de zile InfoSlabire.ro se sustine financiar doar datorita partenerilor din linkurile recomandate. Daca acest articol te-a ajutat, atunci ajuta-ma si tu sa mentin calitatea informatiei si viziteaza siturile partenerilor mei.
Iti Multumesc!
Olimpiu