domingo, 1 de noviembre de 2009

Type casting en PHP

Lenguajes de programación de tipeado fuerte nos indica que para poder utilizar las variables hay que declararlas previamente y determinar el TIPO de dato a contener. En PHP no es necesario hacer estas declaraciones, las variables empiezan por el signo $, deben contener solo caracteres alfanuméricos y empezar por letra, el uso de underscore o raya baja (_) solo esta permitida cuando en la declaración de atributos de una clase son privados o protegidos.

Cuando el nombre de la variable se compone de dos o mas palabras, la variable empieza con minúscula y la segunda con mayúscula (camelCaps).

Ejemplos
 
// variables numericas
$edad=15;
echo $edad;

//variables string o cadena

$nombreUsuario='carlos';
echo $nombreUsuario;

 

Esa flexibilidad de tipo puede ocasionar algunas dificultades o errores inesperados y en PHP 5 se puede utilizar dos maneras de darle tipo a las variables. la primera es mediante la manipulacion de tipos de la forma:
  • $variable =(tipo de dato) dato o variable;
  • Donde 'tipo de dato' puede tomar varias opciones entre otras:
    • (int) para integer o numeros enteros
    • (string) para string o cadenas
    • (double) para datos decimales
    • (object) para objetos
    • (array) para vectores
    • (real) para numeros reales
    • (bool) para booleanos

// variables numericas
$edad=(int)15;
echo $edad;

//variables string o cadena
$nombre=(string) 'Carlos';
echo $nombre;



La otra opción de manipular el tipo de dato es mediante las funciones gettype y settype, estas obtiene el tipo de dato o asignan el tipo de dato respectivamente.

// variables numericas
$edad = 15;

echo gettype($edad);
// sale integer


$edad = '15';
//asignación de cadena 15 porque esta entre comillas

echo gettype($edad);
// sale string
settype($edad, 'integer');
echo gettype($edad); 
// sale integer


El conocimiento y aplicación de estas formas para asignar un tipo de dato específico a las variables, mejora el desarrollo de nuestras aplicaciones.

2 comentarios:

  1. I am sorry, it not absolutely approaches me. Perhaps there are still variants?

    ResponderEliminar

Gracias por sus comentarios!