A data type is simply a way of differentiating the data we have by its type. For example, if it is a number, a letter, a word, etc.
What are the data types?
In programming we can have several types of data, but the most known are: numeric, character strings, boolean and without value.
Numeric
They represent numerical data. These can be subdivided into:
Integer: number without decimals. For example: 50; 70; 300.
Float: number with decimals. For example: 5.3; 4.7; 8.24.
Double: number with decimals, similar to float, but with the ability to store more decimals. Especially useful for variables or constants that require more precise values, for example the PI number that has many decimal places.
Character strings
It means that we will store text. We have two groups:
Char: it is a single character that can be a letter, number or a symbol such as #, @, %, a or 5.
String: is a string of more than one character such as "Hello, World!"
Boolean
It means that something istrue orfalse.
No value
It is used to express that a variable has no value(Null) or that it is not defined(Undefined).
The PHP typing
PHP has weak typing, that is, we do not indicate the type of variable when declaring it, since it can deduce what type of data you are using. Let's see an example:
<?php$numeric = 0; var_dump($numeric); // var_dump() we use it to see information of the variable, in this case of $numericecho"\n"; // Line break.
And if we execute this PHP file in the terminal we will be able to see that it indicates that $numerito is of type integer(int) with a value of 0:
Automatic type conversion.
PHP is able to convert one data type to another automatically depending on the context where it is used. For example, if you add a number with a string, PHP will evaluate both as numbers:
<?php$number = "23"; // String$number = $number + 2; // We add to the String a numbervar_dump($number); // var_dump() will print us informationecho"\n"; // Line break.
If we execute our PHP file it tells us that $numerito is of type integer(int) with a value of 25, that is to say, it makes the internal conversion from String to int of the string "23" and then it adds the number 2 to it:
Bad practices
Let's look at the following case:
<?php$papas = "10 potatoes in the sack"; $cuantas_papas_hay = $papas + 5;echo $cuantas_papas_hay;
What do you think PHP will do with this sum? Well, PHP has the ability to identify the first number that is inside the variable $papas, extract it and perform the sum. However, it will show us a warning beforehand:
Since the number was at the beginning of the String, and not in the middle or at the end, the operation was possible. This is because, during the execution of the program, PHP found a number(10) at the beginning that indicated that this variable($papas) was going to be converted to integer. However, when it found a string of characters ("...papas en el costal") after that number is that it launches the warning message that we see before the result of the sum(15) saying that during the operation it found non-numeric values ("A non-numeric value encountered...").
Conclusion
PHP is very permissive, but this can lead to bad practices. It is therefore advisable to monitor the data types of your program.
Contribution created by: Martín Álvarez with the contribution of Gregory Hernandez Abad.
Contributions 24
Questions 2
Sort by:
Want to see more contributions, questions and answers from the community?
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
.
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.
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:

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";
?>
Want to see more contributions, questions and answers from the community?