Skip to content

0. Sintaxis básica III

Olga M. Moreno Martín edited this page Dec 21, 2021 · 1 revision

1. Conversión de Tipos

1.1. Conversión a números enteros

//Caso 1: $variable = "20 caramelos";
//Caso 2:
$variable=false;
$suma= 20 + $variable;

echo $suma;
echo gettype($suma);

/*Salida:
Caso 1: Error y 40integer
Caso 2: 20integer */

También podemos forzar la conversión usando (int) delante de una variable. A esto le llamamos casting

$int =(int) $variable; 
echo '<br>';
echo $int;

También podemos forzar el tipo con la función intval():

$funcion=intval($variable);
echo $funcion;
echo gettype($funcion);

1.2. Conversión a números reales: float o double

Podríamos forzar mediante casting usando (double) o (float):

$variable = "1.8 caramelos";
$real= (double) $variable; 
echo '<br>';
echo $real;

Y usando las funciones floatval() y doubleval():

$funcionreal=floatval($variable);
//$funcionreal=doubleval($variable);
echo $funcionreal;
echo gettype($funcionreal);

1.3. Conversión a booleano

Podríamos forzar mediante casting usando (boolean):

$bool= (boolean) $variable; 
echo '<br>';
echo $bool;

Y usando la función boolval():

$funcionbool=boolval($variable);
echo $funcionbool;
echo gettype($funcionbool);

1.4. Conversión a array

Mediante la función explode() especificamos un símbolo para cortar un string en trozos, tras ello, especificamos la cadena y el número de trozos máximos que queremos.

$numeros="1,2,3,4";
$ArrayNumeros=explode(",", $numeros,5);
print_r ($ArrayNumeros);//print_r es para imprimir arrays

Aunque el casting no falla, nos incluye todos los elementos de la cadena dentro del primer índice:

$array= (array) $numeros; 
echo $array[0];

Por tanto, esto no es válido.

Por otro lado, podemos querer pasar de tener un array a una cadena de caracteres, para ello, usaremos la función implode(), que nos separará nuestro array en elementos usando el separador que le especifiquemos:

$ArrayColores=array('amarillo','azul','verde');
$string = implode(" ", $ArrayColores);
echo $string;