viernes, 16 de enero de 2009

Manual de PHP 10. Sintaxis Básica: Tipos de variables

Tipos de variables

En PHP no es necesaria una definición previa del tipo de variables.

Según los valores que se les vayan asignando, las variables podrán cambiar de tipo –de modo automático– y se irán adaptando a los valores que contengan en cada momento.

Los tipos de datos posibles que puede almacenar una variable son los siguientes :

Integer Números enteros positivos y negativos
Double Números decimales o de coma flotante
String Cadenas de texto
Boolean Valores True o False
Array Tipo especial de colección de valores
Object Tipo especial de dato complejo


Cualquier número entero cuyo valor esté comprendido entre ± 231 será interpretado por PHP como de tipo Integer.

Si el valor de una variable es un número decimal o –siendo entero– desborda el intervalo anterior, bien por asignación directa o como resultado de una operación aritmética, PHP la convierte a tipo Double.

Cualquier variable a la que se le asigne como valor el contenido de una cadena de caracteres (letras y/o números delimitados por comillas) es interpretada por PHP como tipo String.

Determinación de tipos de variables

PHP dispone de la función:

gettype(variable)

que devuelve una cadena de caracteres indicando el tipo de la variable que contiene.

La cadena devuelta por esta función puede ser: Integer, double o string.

Forzado de tipos

PHP permite forzar los tipos de las variables. Eso quiere decir que se puede obligar a PHP a asignar un tipo determinado a una variable determinada, siempre que los valores que contenga estén dentro del rango del nuevo tipo de variable.

Los tipos se pueden forzar tanto en el momento de definir la variable como después de haber sido definida.

Forzado y asignación simultánea de valores

Al asignar un valor a una variable, se puede forzar su tipo de la siguiente forma. Si deseamos que la variable pase a ser tipo de double basta con anteponer a su valor –entre paréntesis– tal como se indica una de las expresiones:

(double), (real) o (float).

Por ejemplo:

$a=((double)45); o
$a=((float)45); o
$a=((real)45);

cualquiera de ellas produciría el mismo efecto: convertir la variable $a a tipo Double.

Para forzar una variable a tipo Integer podemos anteponer a su valor una de estas expresiones:

(integer), o (int).

Por ejemplo:

$b=((integer)4.5); o
$b=((int)45);

producirían el mismo efecto: convertir la variable $b a tipo Integer.

Para forzar una variable a tipo String basta con anteponer a su valor (entre paréntesis): (string).

Por ejemplo:

$c=((string)4.5);

convertiría la variable $c a tipo String.

Forzado de tipos en variables ya definidas

La forma más aconsejable de forzado de tipos en variables que ya estuvieran definidas previamente, es el uso de la siguiente instrucción:

settype(var,tipo)

donde var es el nombre de la variable cuyo tipo pretendemos modificar y tipo una expresión que puede contener (entre comillas) uno de estos valores: 'double', 'integer', o 'string' según se trate de forzar a: coma flotante, entero, o cadena.

Un ejemplo podría ser este:

settype($a,'integer')

que convertiría a tipo entero la variable $a.

La ejecución de la instrucción settype devuelve (da como resultado) un valor que puede ser: true o false (1 ó 0) según la conversión se haya realizado con éxito o no haya podido realizarse.

Operaciones con distintos tipos de variables

PHP permite la realización de operaciones aritméticas con cualquiera de los tres tipos de variables y adecúa el resultado al tipo más apropiado.

Ocurre lo siguiente:

– Al operar con dos enteros, si el resultado está dentro del rango de los enteros, devuelve un entero.

– Si al operar con dos enteros el resultado desborda el rango entero, convierte su valor, de forma automática, al tipo coma flotante

– Al operar un entero con una variable tipo coma flotante el resultado es de coma flotante.

– Al operar con una cadena lo hace como si se tratara de un entero. Si hay caracteres numéricos al comienzo, los extrae (hasta que aparezca un punto o un carácter no numérico) y los opera como un número entero.

– Si una cadena no comienza por un carácter numérico PHP la operará tomando su valor numérico como CERO.


Fuente:
Página del ifstic: http://www.isftic.mepsyd.es/formacion/enred/
manualdephp.com

No hay comentarios: