|
Table des matières
Définition du typePHP ne nécessite pas de déclaration explicite du type d’une variable. Le type d’une variable est déterminé par le contexte d’utilisation. Par exemple, si vous assignez une chaîne de caractères à la variable “$var”, “$var” devient une chaîne de caractère. Si vous assignez un nombre entier à “$var”, elle devient un entier. Un exemple de convertisseur automatique de type est l’opérateur ‘“+”‘. Si un des opérandes est de type double, alors tous les opérandes sont évalués comme des variables de type double et le résultat est de type double. Sinon, tous les opérandes sont évalués comme des variables de type entier et le résultat sera du type entier. Il est à noter que cela NE CHANGE PAS le type des opérandes. Le seul changement est la manière dont les opérandes sont évalués.
<?php $foo = "0"; // $foo est une chaîne de caractères (ASCII 48) $foo += 2; // $foo est maintenant du type entier (2) $foo = $foo + 1.3; // $foo est maintenant du type double (3.3) $foo = 5 + "10 Petits cochons"; // $foo est du type entier (15) $foo = 5 + "10 cochonnets"; // $foo est du type entier (15) ?>
<?php $a = 'car'; // $a est une chaîne de caractères $a[0] = 'b'; // $a est toujours une chaîne de caractères echo $a; // affiche : bar ?> TranstypageLa 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 :
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; ?>
<?php $foo = 10; // $foo est un entier $str = "$foo"; // $str est une chaîne $fst = (string) $foo; // $fst est aussi une chaîne // Ceci affiche : "Identique" if ($fst === $str) { echo 'Identique'; } ?> Le transtypage n’a pas toujours un résultat prévisible lors du transtypage entre certains types. Pour plus d’informations, lisez : Travail collaboratifContribuez, en ajjoutant des elements a cette page de manuel : Merci de votre aide |