Un tipo de dato simplemente es una forma de diferenciar los datos que tenemos por medio de su tipo. Por ejemplo, si es un número, una letra, una palabra, etc.
¿Cuáles son los tipos de datos?
En programación podemos tener varios tipos de datos, pero los más conocidos son: numéricos, cadenas de caracteres, booleanos y sin valor
Numéricos
Representan a los datos de tipo numérico. Estos se pueden subdividir en:
Integer: número sin decimales. Por ejemplo: 50; 70; 300.
Float: número con decimales. Por ejemplo: 5.3; 4.7; 8.24.
Double: número con decimales, similar a float, pero con capacidad de almacenar más decimales. Especialmente útil para variables o constantes que requieren valores con mayor precisión, por ejemplo el número PI que tiene muchos decimales.
Cadenas de caracteres
Quiere decir que almacenaremos texto. Tenemos dos grupos:
Char: es un solo caracter que puede ser una letra, número o un símbolo como por ejemplo #, @, %, a o 5.
String: es una cadena de más de un caracter como por ejemplo “¡Hola, Mundo!”
Boolean
Es decir que algo es verdadero (true) o falso (false).
Sin valor
Sirve para expresar que una variable no tiene valor (Null) o que está no definido (Undefined)
El tipado de PHP
PHP tiene tipado débil, es decir, no indicamos el tipo de variable al declararla, ya que puede deducir qué tipo de dato estás usando. Veamos un ejemplo:
<?php
$numerito = 0;
var_dump($numerito); // var_dump() lo usamos para ver información de la variable, en este caso de $numeritoecho"\n"; // Salto de línea
Y si ejecutamos en la terminal este archivo PHP podremos ver que nos indica que $numerito es de tipo integer (int) con un valor de 0:
Conversión de tipos automática
PHP es capaz de convertir un tipo de dato a otro de forma automática según el contexto donde se emplee. Por ejemplo, si sumas un número con un string, PHP evaluará ambos como números:
<?php
$numerito = "23"; // String
$numerito = $numerito + 2 ; // Le sumamos al String un número
var_dump($numerito); // var_dump() nos inmprimirá informaciónecho"\n"; // Salto de línea
Si ejecutamos nuestro archivo PHP nos indica que $numerito es de tipo integer (int) con un valor de 25, es decir, realiza la conversión internamente de String a int de la cadena "23" y luego le suma el número 2:
Malas prácticas
Veamos el siguiente caso:
<?php
$papas = "10 papas en el costal";
$cuantas_papas_hay = $papas + 5;
echo $cuantas_papas_hay;
¿Qué crees que hará PHP ante esta suma? Pues PHP tiene la capacidad de identificar el primer número que está dentro de la variable $papas, extraerlo y realizar la suma. Sin embargo, nos mostrará un aviso previamente:
Ya que el número se encontraba al principio del String, y no en el medio o al final, la operación fue posible. Esto es debido a que, durante la ejecución del programa, PHP encontró un número (10) al inicio que le indicó que esa variable ($papas) iba a ser convertida a integer. No obstante, al encontrar una cadena de caracteres ("...papas en el costal") después de dicho número es que lanza el mensaje de alerta que vemos previo al resultado de la suma (15) diciendo que durante la operación encontró valores no numéricos ("A non-numeric value encountered...").
Conclusión
PHP es muy permisivo, pero esto nos puede llevar a malas prácticas. Por ello es recomendable monitorear los tipos de datos de tu programa.
Contribución creada por: Martín Álvarez con el aporte de Gregory Hernandez Abad
Aportes 24
Preguntas 3
Ordenar por:
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
Si concatenas un string + un numero, solo va a sumar el numero en el string si el numero esta al inicio, si esta en medio o al final no lo tomará.
Y es que en realidad lo que esta tratando es de hacer la suma a pesar de que el numero es un string y no un numero. Si es un string, dirá: “Oye, junto a este numero, pusiste un valor que no es numerico, pero como puedo segregar el valor numerico ya que esta al inicio, lo sumaré”.
Por si alguien le sirve. En linux para comentar un bloque de código seleccionado presionamos CTRL + SHIFT + A y generará un comentario de tipo bloque y para descomentarlo pulsamos nuevamente CTRL + SHIFT + A
Se identifican por el tipo de valor que representan o al cual hacen referencia. Se pueden clasificar según el siguiente cuadro:
Los tipos de datos de números que nos encontramos pueden ser Enteros o de coma flotante (decimales). Son los números que nos encontramos en la vida cotidiana.
Los tipos de datos de texto son los que hacen referencia a las cadenas de texto o caracteres que representan un valor al escribir una frase, un nombre o sencillamente cuando se obtienen datos representados por valores alfanuméricos.
Los tipos de datos de lógica, son los que conocemos como verdadero (true) o falso (false). Los cuales permiten trabajar sobre condiciones y elementos lógicos en nuestras aplicaciones.
Datos de Texto
String y Concatenación.
String: Una cadena de texto, es la unión de diferentes caracteres que funcionan como eslabones que al unirse forman una cadena texto (String) que al unirse forman una frase que al ser concatenados dan el sentido lógico de un valor
Se pueden tener distintas cadenas de texto que por separado tienen su propio valor, y al unirse forman un valor y resultado en conjunto. Esto se llama concatenación.
Char y String.
Char: Es un carácter o elemento que compone la cadena de texto, que al unirse o concatenarse con otros Char, forman la cadena de texto.
String: Es la unión o concatenación de distintos Chars que conforman la cadena de texto.
Datos Numéricos:
Números y operaciones básicas.
Enteros (int): Son aquellos que no tienen parte decimal (10, 20, 30)
Decimales (float): Cuando hablamos de números de coma flotante o float, son aquellos que tienen parte decimal a su lado derecho. (3.1416, 5.8 )
Cortos (Short): Se refieren a que por su tamaño ocupan 2 bytes
Largos (Long): Se refieren a que por su tamaño ocupan 8 bytes
Los tipos de datos se puede interpretar como etiquetas o denominaciones entregadas a conjuntos de datos distinguibles. Por ejemplo, el superconjunto de los números, el superconjunto de los caracteres, el conjunto de los valores vacíos.
Entre los tipos de datos más conocidos en el mundo de la programación se tienen:
Numéricos
Integer (enteros)
Float (reales)
Double (reales con precisión)
Cadenas de caracteres
Char (letra o símbolo)
String (cadena de caracteres)
Booleanos
Bool (usados en la álgebra de Boole)
Sin valor
Null (sin valor)
Undefined (sin inicialización)
Al ser PHP un lenguaje de programación de tipado débil el intérprete se encargará de inferir en tiempo de ejecución el tipo de valor asignado a una variable. Asi mismo, PHP es capaz de convertir un tipo de dato a otro, si el nuevo valor asignado es de un tipo diferente al entregado inicialmente, o dependiendo el contexto. Si se intenta realizar una operación matemática entre un número guardado como String y otro siendo un Float; el primer valor String será convertido en un tipo Float para lograr completar la operación.
A continuación, un ejemplo de lo antes mencionado:
**🚀¿Te diste cuenta de este detalle?**
Al imprimir una variable que contiene un STRING con var\_dump, lo que nos muestra entre paréntesis es la longitud de dicho String.
Mira el siguiente ejemplo y compruébalo tú mismo con tu código:
![](https://static.platzi.com/media/user_upload/String-y-longitud-2ffa1308-59fb-4933-93e0-411020f5b516.jpg)
.
En PHP, el tipado débil se refiere a la capacidad del lenguaje de permitir que una variable cambie de tipo durante la ejecución del programa. A diferencia de otros lenguajes de programación que requieren que una variable tenga un tipo de datos específico y no permiten que cambie de tipo, PHP permite que una variable cambie de tipo en cualquier momento. Por ejemplo, una variable $numero podría comenzar como un número entero y luego convertirse en una cadena de texto más tarde en el programa.
.
El tipado automático en PHP
.
Se refiere a la capacidad del lenguaje de convertir automáticamente una variable de un tipo de datos a otro según sea necesario. Por ejemplo, si se intenta sumar un número y una cadena de texto en PHP, el lenguaje automáticamente convertirá la cadena de texto en un número antes de realizar la suma. Del mismo modo, al comparar dos valores de tipos diferentes, PHP automáticamente convertirá uno de los valores al tipo del otro antes de realizar la comparación.
. 💡 El tipado débil y el tipado automático en PHP hacen que el lenguaje sea más flexible y fácil de usar para los programadores, pero también pueden conducir a errores si no se manejan adecuadamente. Es importante tener en cuenta que las variables en PHP pueden cambiar de tipo en cualquier momento y que las conversiones automáticas pueden no siempre producir los resultados esperados, por lo que es importante estar atento a estos comportamientos al programar en PHP.
De acuerdo con la ultimo ejercicio me gustaría acotar que para esta situación php ya no te ayuda a realizar la suma.
// No empieza con el valor de numero
// por eso lanza un error
$papas = “Hay 10 papas en el costal”;
$cuantasPapasHay = $papas + 5;
var_dump($cuantasPapasHay);
si no que te lanza un error
Fatal error: Uncaught TypeError: Unsupported operand types: string + int in
PHP es muy permisivo, pero esto nos puede llevar a malas prácticas. Por ello es recomendable monitorear los tipos de datos de tu programa.
Algunas de las malas prácticas en el manejo de tipos de datos en PHP incluyen:
No validar los tipos de datos de entrada: Permitir que los usuarios proporcionen información sin validar su tipo de datos puede llevar a errores y problemas de seguridad.
No utilizar conversión de tipos explícita: Confiar en la conversión automática de tipos puede llevar a resultados inesperados y errores en la lógica del programa.
Almacenar datos de un tipo de datos inapropiado: Almacenar datos de un tipo de datos inapropiado puede resultar en un uso ineficiente del almacenamiento y puede dificultar la manipulación y procesamiento de los datos.
No utilizar los tipos de datos adecuados para expresar la información: Utilizar tipos de datos inadecuados para representar la información puede resultar en una pérdida de precisión y puede dificultar la manipulación y procesamiento de los datos.
No verificar si una variable está definida antes de usarla: Acceder a una variable no definida puede resultar en un error y puede ser una puerta abierta para ataques.
Integer == Número entero Float == Número decimal (4 bytes) Double == Número decimal preciso (8 bytes) Char == Un carácter String == Cadena de caracteres Bool == Verdadero o falso (1 o 0)
Eres grande Retax, me encanta la sencillez con la que enseñas los conceptos de la programación. Un curso totalmente ameno para cualquier persona deseosa de aprender a programar 😃
Hola a todos les comparto un codigo que hice con lo que llevamos aprendido
<?php//clase 12//Declaracion de un String$numero_string="32";
echo'var_dump($numero_string) = ';
var_dump($numero_string);
//Declaracion de un int$numero_int=33;
echo'var_dump($numero_int) = ';
var_dump($numero_int);
//Declaracion de un float$numero_float=33.33;
echo'var_dump($numero_float) = ';
var_dump($numero_float);
//Conversion de tipos automatica de enteros$suma_int=$numero_string+$numero_int;
echo'var_dump($suma_int) = ';
var_dump($suma_int);
//Conversion de tipos automatica de flotantes$suma_float=$numero_string+$numero_int+$numero_float;
echo'var_dump($suma_float) = ';
var_dump($suma_float);
//Concatenacion a String de diferentes tipos de datos$concatenacion=$numero_string." ".$numero_int." ".$numero_float;
echo'var_dump($concatenacion) = ';
var_dump($concatenacion);
//Suma de tipos, php puede hacer la suma d eun entero y una cadena con un numero, pero es mala practica$papas = "10 papas en el costal";
$cuantas_papas_hay = $papas + 5;
echo"Total de papas: ".$cuantas_papas_hay."\n";
?>
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?