Objetivos Objetivos
  • Conocer y diferenciar los tipos de datos
  • Declarar y usar variables
  • Usar las funciones de comprobación de tipos
Fuentes de información Fuentes de información
Contenidos
Contenidos
 

1.- Introducción

Una vez tenemos instalado y configurado el servidor PHP, así como Apache, y dados los conocimientos básicos para declarar nuestro primer programa, tanto en estructura como en funcionamiento, estaremos en disposición de comenzar con los diferentes tipos de datos que soporta el lenguaje, así como su aplicación a las diferentes variables que podemos declarar. Por ello en esta unidad explicaremos los diferentes tipos de datos que tenemos disponibles, así como la definición de variables a partir de estos tipos.

2.- Tipos de datos

Al igual que cualquier lenguaje de programación, PHP tiene un conjunto de tipos de datos disponibles. El hecho más curioso es que, en general, el tipo de dato de una variable no es decidido por el programador sino que lo decide el lenguaje en tiempo de ejecución, aunque podemos utilizar la instrucción settype para forzar el tipo de dato de una variable en los raros casos en que esto sea necesario.

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

Tipo Descripción
Integer Números enteros
Double Números decimales
String Cadenas de texto
Boolean Valores Sí/No
Array Tipo especial de colección
Object Tipo especial de dato complejo

 

2.1.- Tipo Integer

Puede representar números enteros, tanto positivos como negativos. Además se puede utilizar tanto notacion decimal, como octal, hexadecimal y binaria. Cada una de ellas tiene su propia notación, de modo que los binarios comienzan por 0b, los octales comienzan por 0 y los hexadecimales por 0x.

Ejemplos: 1234, -45, 0123 (en octal), 0x23 (en hexadecimal), 0xFF (en hexadecimal), -820, 0b10 (en binario)

2.2.- Tipo Double

Representa números en coma flotante o reales, es decir, aquellos que contienen decimales. De hecho se puede utilizar la notación exponencial (e), tal y como podemos ver en los ejemplos.

Ejemplos: 5.87, 8.2e6, -99.98, 12E-9

2.3.- Tipo String

El tipo String permite el almacenamiento de cadenas de caracteres, las cuales pueden ser encerradas entre comillas dobles o simples. Su utilización es similar a la que se realiza en otros lenguajes de programación como C o C++.

Ejemplos: hola, Pepe, alumno

2.4.- Tipo Boolean

Representa los valores lógicos verdadero (true) y falso (false). Además son insensibles a las mayúsculas, con lo que podremos poner false o False. Asimismo los valores 0, 0.0, la cadena vacía y el string 0 tienen el valor false.

Ejemplos: True, 0, FALSE, True

2.5.- Tipo Array

Los vectores o arrays actúan tanto como vectores tradicionales (indexados por número) así también como vectores asociativos (indexados por clave). De esta forma, podremos indicar tanto la longitud del vector como sus elementos. Además sus elementos podrán ser de cualquier otro tipo de los que hemos explicado anteriormente.

Ejemplos: (True, Pepe, 5.87, -34)

2.6.- Tipo Object

El último de los tipos es especial ya que permite programar con orientación a objetos, de modo que, una vez definido el tipo de objeto que queremos representar (con sus atributos y métodos), podemos definir elementos de ese tipo.

3.- Variables

Una vez entendidos los tipos vamos a explicar qué son la variables. En PHP las variables contienen valores en memoria y se representan con un signo de dólar seguido por el nombre de la ésta. El nombre de la variable es sensible a minúsculas y mayúsculas, con lo que deberemos tener cuidado a la hora de fijar los nombres.

Los nombres de variables siguen las mismas reglas que otras etiquetas en PHP. Un nombre de variable válido tiene que empezar con una letra o un carácter de subrayado, seguido de cualquier número de letras, números y caracteres de subrayado.

Ejemplos: $nombre, $_apellidos, $nombre1

Además de las restricciones anteriores, existe un conjunto de variables predefinidas que no pueden ser utilizadas como nombre. Entre ellas se encuentran: $this, $GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIES, $_FILES, $_ENV, $_REQUEST, $_SESSION.

A la hora de definir una variable se ha de tener en cuenta una determinada sintaxis:

$nombre_variable = valor

Es decir, indicaremos el nombre de la variable y, opcionalmente, un símbolo igual seguido del valor de inicialización. De este modo un ejemplo es:

En el que declaramos dos variables, una de tipo string y otra de tipo integer, y las utilizamos para imprimir sus valores en una determinada frase. Cuando declaramos variables de tipo string, siempre tenemos que poner el valor entre comillas, mientras que si la variable es de tipo numérico, no es necesario ponerlas ya que de lo contrario PHP la tratará como una cadena de caracteres. Así el resultado de la ejecución será:

 

No es necesario inicializar variables en PHP, sin embargo, es una muy buena práctica. Las variables no inicializadas tienen un valor predeterminado de acuerdo a su tipo dependiendo del contexto en el que son usadas: las booleanas se asumen como false, los enteros y flotantes como cero, las cadenas se establecen como una cadena vacía y los arrays se convierten en un vacíos.

Vamos a poner algunos ejemplo de variables de diferentes tipos:

Y el resultado es:

Si nos fijamos, cada variable de cada tipo se inicializa de una forma distinta. En concreto, el tipo booleano lo hemos inicializado a verdadero (true) y el tipo array a los valores Juana y Pepe.

Ejercicios
Ejercicio
 

En la teoría hemos visto los diferentes tipos de datos, asi como la definición de variables. Vamos a poner en práctica todo y para ello deberás crear un programa en PHP en el que se definan las siguientes variables y se imprima su valor (además en la parte superior de cada definición deberás indicar, con un comentario, el tipo de entre los estudiados):

Variable Valor
nombre Nacho
edad 20
casado false
nota 7.8
aficiones correr, leer
apellidos pérez pérez
provincia Valencia
graduado true

Una vez realizado guárdalo con el nombre variables01.php e implementa los dos ejemplos vistos en la teoría con los nombres variables02.php y variables03.php.

Contenidos
Contenidos
 

4.- Conversión y comprobación de tipos

Como hemos comentado en el punto dos, PHP gestiona automáticamente los tipos convirtiéndolos en función de los operandos y del operador. De esta forma si intentamos sumar '10' y 20 la accion que realizaría sería convertir la primera variable a numérica y de esa forma podria sumar 10+20=30.

Aparte de ésto, el lenguaje nos ofrece funciones especiales que nos permiten saber el tipo de variable que estamos usando y también realizar su conversión. Mostramos algunas de ellas y ejemplos que ilustran su uso:

  • gettype(): Devuelve el tipo de una variable

Ejemplo:

Resultado:

  • settype($variable,'tipo variable'): Transforma el tipo de variable del que haya decidido PHP por el que nosotros decidamos
  • is_array(): Comprueba si la variable es de tipo array

Ejemplo:

Resultado:

  • is_bool(): Comprueba si la variable es de tipo boolean

Ejemplo:

Resultado:

  • is_float(): Comprueba si la variable es de tipo double
  • is_integer(): Comprueba si la variable es de tipo integer
  • is_null(): Comprueba si la variable es nula
  • is_numeric(): Comprueba si la variable es numérica o string numérico

Ejemplo:

Resultado:

  • is_object(): Comprueba si la variable es de tipo objeto
  • is_resource(): Comprueba si la variable es un recurso
  • is_scalar(): Comprueba si la variable es escalar (integer, double, string o boolean)
  • is_string(): Comprueba si la variable es de tipo string