En esta entrada de la serie sobre el lenguaje de guiones PHP se tratará el tema de la conversión de los tipos de datos.
En entradas anteriores se comentó que PHP es muy flexible en el manejo de los tipos de datos y no necesita la declaración explícita del tipo de datos en la declaración de variables, ya que el tipo de una variable es determinado por el contexto en el que se usa esta.
Existen dos clases de conversión de tipos de datos en PHP: La automática y la forzada.
En entradas anteriores se comentó que PHP es muy flexible en el manejo de los tipos de datos y no necesita la declaración explícita del tipo de datos en la declaración de variables, ya que el tipo de una variable es determinado por el contexto en el que se usa esta.
Existen dos clases de conversión de tipos de datos en PHP: La automática y la forzada.
CONVERSIÓN AUTOMÁTICA DE TIPOS DE DATOS
Predeterminadamente, PHP realiza una conversión automática de tipos, lo que significa que si, por ejemplo, se asigna un valor de cadena a la variable "var", "var" se convierte en una cadena. Si después se le asigna un valor entero a la misma variable, esta se transformará en una variable entera.
Otro ejemplo es el operador suma ("+"). En este caso, PHP analiza el tipo de datos de los operandos y, a partir de esta evaluación, adaptará los operandos para poder realizar la operación lo mejor posible.
En una operación aritmética con cadenas intentará obtener el valor numérico de las cadenas. Por su parte, una operación entre variables enteras y coma flotante dará como resultado una variable de coma flotante.
Esta conversión automática también sucede cuando una variable numérica se quiere utilizar como cadena de carácteres. Una operación de concatenación de cadenas (".") necesita operandos de cadena de caracteres, por lo cual, si se desea concatenar una cadena de caracteres con una o más variables numéricas, lo que sucederá es que PHP convertirá a estas últimas la cadena de caracteres.
El forzado de tipos en PHP funciona como en C, de manera que el nombre del tipo deseado se escribe entre paréntesis antes de la variable a la que se pretende forzar.
Se pueden convertir forzadamente:
Otro ejemplo es el operador suma ("+"). En este caso, PHP analiza el tipo de datos de los operandos y, a partir de esta evaluación, adaptará los operandos para poder realizar la operación lo mejor posible.
En una operación aritmética con cadenas intentará obtener el valor numérico de las cadenas. Por su parte, una operación entre variables enteras y coma flotante dará como resultado una variable de coma flotante.
Esta conversión automática también sucede cuando una variable numérica se quiere utilizar como cadena de carácteres. Una operación de concatenación de cadenas (".") necesita operandos de cadena de caracteres, por lo cual, si se desea concatenar una cadena de caracteres con una o más variables numéricas, lo que sucederá es que PHP convertirá a estas últimas la cadena de caracteres.
CONVERSIÓN FORZADA DE TIPOS
La conversión automática que realiza PHP no siempre es la que más conviene al usuario, por lo que PHP tiene herramientas para convertir el tipo de una variable a otro tipo concreto.El forzado de tipos en PHP funciona como en C, de manera que el nombre del tipo deseado se escribe entre paréntesis antes de la variable a la que se pretende forzar.
Se pueden convertir forzadamente:
- Enteros: (int), (integer).
- Booleanos: (boolean).
- Comas flotantes: (real), (double), (float).
- Cadena de caracteres: (string).
- Matriz: (array).
- Objeto: (object).
Cuando se fuerza el cambio de un escalar o una variable de cadena a una matriz, la variable se convertirá en el primer elemento de esta última.
Por otra parte, cuando se fuerza el tipo de una variable escalar o de una cadena a un objeto, la variable se convertirá en un atributo del objeto (su nombre, "scalar").
Espero que esta entrada haya resultado útil y/o entretenida al lector. En caso afirmativo, que comente y/o la comparta, por favor.
No hay comentarios:
Publicar un comentario
Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.