La conversion de type en PHP fonctionne de la même
manière qu'en C: le nom du type désiré
est écrit entre parenthèses devant la variable
à transtyper ("cast").
<?php
$foo = 10; // $foo est un entier
$bar = (double) $foo; // $bar est un double
?>
Les conversions autorisées sont:
-
(int), (integer) - type entier
-
(bool), (boolean) - booléen
-
(real), (double), (float) - type double
-
(string) - ctype chaîne
-
(array) - type tableau
-
(object) - type objet
Il est à noter que les tabulations et les espaces
sont autorisés à l'intérieur des
parenthèses, donc les lignes suivantes sont équivalentes:
<?php
$foo = (int) $bar;
$foo = ( int ) $bar;
?>
Le transtypage n'a pas toujours de résultat prévisible.
Pour plus d'informations, voyez :
Pour transformer facilement une variable en chaîne,
entourez la simplement de guillements doubles.
Lors de la conversion d'un tableau en chaîne, le résultat sera
le mot Array (tableau, en anglais). Lors de la
conversion d'un objet en chaîne, le résultat sera le mot
Object (objet, en anglais). Dans les deux cas,
une alerte sera affichée.
Lorsque vous transtypez un scalaire ou une chaîne en tableau,
la variable verra son contenu affecté au premier
élément du tableau.
<?php
$var = 'ciao';
$arr = (array) $var;
echo $arr[0]; // affiche 'ciao'
?>
Lorsque vous transtypez un scalaire ou une chaîne en objet,
la valeur de la variable sera transformée en attribut de
l'objet. L'attribut s'appellera 'scalar':
<?php
$var = 'ciao';
$obj = (object) $var;
echo $obj->scalar; // affiche 'ciao'
?>