gratiszona

Conversion de cadenas

Cuando una cadena se evalua como un valor numerico, el valor resultante y el tipo se determinan como sigue.
La cadena se evaluara como un doble si contiene cualquiera de los caracteres ’.’, ’e’, o ’E’. En caso contrario, se evaluara
como un entero.
El valor viene dado por la porcion inicial de la cadena. Si la cadena empieza con datos de valor numerico, este sera el
valor usado. En caso contrario, el valor sera 0 (cero). Los datos numericos validos son un signo opcional, seguido por uno
o mas digitos (que opcionalmente contengan un punto decimal), seguidos por un exponente opcional. El exponente es una
’e’ o una ’E’ seguidos por uno o mas digitos.
Cuando la primera expresion es una cadena, el tipo de la variable dependera de la segunda expresion.
$foo = 1 + "10.5"; // $foo es doble (11.5)
$foo = 1 + "-1.3e3"; // $foo es doble (-1299)
$foo = 1 + "bob-1.3e3"; // $foo es entero (1)
$foo = 1 + "bob3"; // $foo es entero (1)
$foo = 1 + "10 Cerditos"; // $foo es entero (11)
$foo = 1 + "10 Cerditos"; // $foo es entero (11)
$foo = "10.0 cerdos " + 1; // $foo es entero (11)
$foo = "10.0 cerdos " + 1.0; // $foo es double (11)

Para mas informacion sobre esta conversion, mire en la pagina del manual de Unix strtod(3).
Si quisiera probar cualquiera de los ejemplos de esta seccion, puede cortar y pegar los ejemplos e insertar la siguiente linea
para ver por si mismo lo que va ocurriendo:
echo "\$foo==$foo; el tipo es " . gettype($foo ) . "<br>\n";
Anterior: tipos de datos en php
Siguiente: arrays en php