4.2.5.4 Conversion de chaînes de caractères
Lorsqu'une chaîne de caractère est
évaluée comme une valeur numérique,
le résultat et le type de la variable sont
déterminés comme suit.
La chaîne de caractères est de type "double" si
elle contient un des caractères '.', 'e' ou 'E'. Sinon,
elle est de type entier (
"integer"
).
La valeur est définie par la première partie
de la chaîne. Si la chaîne de caractères
débute par une valeur numérique cette valeur
sera celle utilisée. Sinon, la valeur sera égale
à 0 (zéro).
Lorsque la première expression est une chaîne de
caractères, le type de la variable dépend de la
seconde expression.
Exemples de conversions automatiques |
<?php $foo = 1 + "10.5"; // $foo est du type float (11.5) $foo = 1 + "-1.3e3"; // $foo est du type float (-1299) $foo = 1 + "bob-1.3e3"; // $foo est du type integer (1) $foo = 1 + "bob3"; // $foo est du type integer (1) $foo = 1 + "10 petits cochons"; // $foo est du type integer (11) $foo = 1 + "10 gros cochons"; // $foo est du type integer (11) $foo = "10.0 cochons " + 1; // $foo est du type integer (11) $foo = "10.0 cochons " + 1.0; // $foo est du type float (11) ?>
|
Pour plus d'informations sur les conversions de type, voir les
pages de man à propos de la fonction
strtod(3)
.
Si vous voulez tester l'un des exemples de cette section,
vous pouvez faire un copier/coller et l'insérer dans un script
pour voir comment il se comporte.
Exemples de conversions |
<?php echo "\$foo==$foo; type is " . gettype( $foo ) . "<br>\n"; ?>
|
|