Desarrollo

Tipos de datos elementales en PHP

Desarrollo PHP

Después de definir los tipos de datos básicos anteriormente, pasamos a ver su utilización básica en el mundo de PHP. Aprenderemos a asignar estos tipos de datos elementales a nuestras variables y a mostrarlos por pantalla para, en próximos artículos, empezar a operar con ellos.

Recordamos que podemos acceder al índice de contenidos para ver el listado de artículos publicados y futuros.

Recordemos los tipos de datos elementales

Como recordatorio del artículo en el que los definimos, nos encontramos con cinco tipos de datos elementales. Éstos son caracteres, cadenas, enteros, decimales y booleanos. Como dijimos, en PHP no se va a distinguir realmente entre caracteres y cadenas, pues un carácter es una simple cadena con un único símbolo (letra, número, símbolo…).

Para ir acostumbrándonos también a las nomenclaturas básicas, vamos a utilizar los nombres en inglés. Estos nombres no son sólo los más utilizados, sino que son los que define el propio lenguaje, en este caso PHP. Serán, por tanto, string (cadena), int o integer (entero), float (decimal) y bool o boolean (booleano).

String

Un string es una serie de caracteres, lo que en lenguaje más coloquial podríamos definir como “una frase”, o el texto propiamente dicho. En PHP únicamente se pueden representar un máximo de 256 caracteres, por lo que puede ser buena idea consultar el código ASCII para verlos. No es objeto de este artículo pero, como veis si accedéis, los primeros 32 caracteres son de control y los siguientes hasta llegar a los primeros 126 se refieren al alfabeto básico en inglés y a los símbolos más habituales (porcentaje, paréntesis, signo más, interrogante…). Sólo encontraremos nuestros acentos españoles o la eñe en los últimos. Si tuviéramos que guardar otro tipo de carácteres (por ejemplo, caligrafía china o japonesa), tendríamos problemas.

Pero, olvidando estos temas algo menores (profundizaremos en alguno de ellos en el futuro), nos servirá para casi cualquier cosa inicial que tengamos en mente. Un string puede, además, alcanzar hasta 2 GB de tamaño, aunque esto equivaldría a más de dos mil millones de caracteres (concretamente 2147483647). Difícilmente alcanzaremos estos valores con un programa sencillo, pero quién sabe…

Definición

Podemos definir un string en PHP de cuatro formas: comillas simples, comillas dobles, heredoc y nowdoc. Las dos últimas formas apenas se utilizan. Al menos, que yo recuerde no las he usado nunca, así que las nombraremos pero no entraremos en detalles.

Comillas simples

Es la manera más simple para definir nuestro string y únicamente requiere de dos especificaciones extra. La primera es que, si queremos que en nuestro texto aparezca la propia comilla simple, deberemos escribir una barra invertida (\) antes de la comilla simple. Y, si queremos escribir esta barra invertida, lo haremos dos veces. Veámoslo con ejemplos para que esté más claro.

<?php

// EJEMPLOS CON COMILLAS SIMPLES

// Definición básica
$miTexto1 = 'Ejemplo de string con comillas simples';

// Guarda el string: Este símbolo ' es una comilla simple
$miTexto2 = 'Este símbolo \' es una comilla simple';

// Guarda el string: Este símbolo \ es una barra invertida
$miTexto3 = 'Este símbolo \\ es una barra invertida';

// ¡Error! La siguiente instrucción da error (ver explicación abajo)
$miTexto4 = 'Este símbolo ' es una comilla simple';

?>

Aunque sencillo, vamos paso a paso para que quede más claro. En la línea 6, nuestra variable $miTexto1 tendrá asignada un sencillo string sobre el que no hay complicaciones. Recordemos que el texto guardado y que se mostraría en pantalla sería Ejemplo de string con comillas simples, sin las comillas.

Para $miTexto2 y $miTexto3 hemos aplicado lo que comentábamos más atrás. ¿Qué pasa si queremos guardar un texto con una comilla simple? Colocamos esa barra invertida y listo. Aquí tendríamos las comillas simples de inicio y fin, y esa comilla simple con la barra invertida que se guardaría e imprimiría si probáis a hacer un echo. ¿Y si queremos mostrar la barra invertida sin más? Entonces se escribe dos veces. Podemos decir que la barra invertida invalida la funcionalidad del símbolo a continuación.

¿Qué ocurre en la variable $miTexto4? El propio coloreado del código ya nos indica que algo va mal (el coloreado es una herramienta muy útil que proporcionan los editores de código). La primera comilla simple inicia la definición del string, pero esa comilla simple a mediados cierra el string. Tendríamos guardado, atención, correctamente el texto Este símbolo (con un espacio en blanco al final) en $miTexto4, porque aquí no hay ningún error. Sin embargo, todo lo que hemos escrito después genera el error, porque no es código correcto (y, además, nosotros lo queríamos dentro del string).

Comillas dobles

La base de las comillas dobles es la misma que en las comillas simples. Pero a esto debemos añadirle un par de funcionalidades más. La primera es que hay más especificaciones aparte de las vistas (ahora para añadir comillas dobles utilizaríamos la barra invertida y las propias comillas dobles). Tendríamos \n para un salto de línea, \t para un tabulador, \$ para un signo de dólar y algunas más que podemos ver en el manual de PHP de forma más detallada.

Ahora, además, podemos expandir también las variables como veremos en los ejemplos a continuación.

<?php

// Definición básica
$miTexto5 = "Ejemplo de string con comillas dobles";

// Guarda el string: Este símbolo " muestra comillas dobles
$miTexto6 = "Este símbolo \" muestra comillas dobles";

// Guarda el string: Este símbolo
// produce un salto de línea. Hay unos cuantos más
$miTexto7 = "Este símbolo \n produce un salto de línea. Hay unos cuantos tipos más";

// Guarda el string: Aquí 'Ejemplo de string con comillas dobles', mostramos la variable $miTexto5
$miTexto8 = "Aquí '$miTexto5', mostramos la variable miTexto5";

?>

Ningún secreto en cuanto a la variable $miTexto5, al igual que en las comillas simples. Tampoco en $miTexto6. Nueva especificación, como hemos comentado, en $miTexto7, donde el símbolo \n imprimiría un salto de línea al mostrarlo por pantalla. Y unas aclaraciones en $miTexto8. Lo primero, vemos que las comillas simples se imprimen sin problemas (pues estamos definiendo el string con comillas dobles). Segundo, vemos que en este caso podemos incrustar la variable $miTexto5 y ésto añadiría lo que habíamos guardado en ella incrustado en este nuevo string. Y, por último, la curiosidad de mostrar que $miTexto5 no es igual, obviamente, al simple texto miTexto5, que no es una variable.

Es bastante más sencillo cuando lo experimentáis con vuestros propios ejemplos, pero bien leído no requiere de mucha complicación. Y este tipo de detalles son buenos saberlos con una cierta antelación antes de encontrarnos con errores o cosas raras en pantalla que no esperábamos.

Hay muchos más temas en cuanto a definición de un string, pero son ya más avanzados y algunos menos utilizados. Por ahora, nos sirve con lo visto hasta aquí.

Int o Integer

Otro de los tipos de datos elementales es el del número entero, el int. Este tipo tiene una definición muy sencilla en PHP como vemos a continuación.

<?php

$miEntero1 = 1234; // número entero en base decimal
$miEntero2 = -123; // número entero negativo en base decimal
$miEntero3 = 0123; // número entero en base octal (sería un 83 en base decimal)
$miEntero4 = 0x1A; // número entero en base hexadecimal (sería un 26 en base decimal)
$miEntero5 = 0b11111111; // número entero en binario (sería un 255 en base decimal)

?>

Las dos primeras variables guardarían nuestros int, el primero siendo un número positivo y el segundo negativo. Luego, como ejemplo, vemos que también se pueden definir enteros en base octal, hexadecimal y en binario. Pero, de nuevo, para nuestros propósitos básicos no son formas muy utilizadas.

Recordemos, del anterior artículo, qué ocurría cuando un entero se desbordaba, o sea, cuando es demasiado grande que supera el límite establecido para su almacenamiento.

Float

Conocidos también como números de punto flotante o de coma flotante, un float es un número con decimales. Vemos sus formas de definirlos que, recordemos, se realizaba con el punto decimal (notación anglosajona) en lugar de nuestra coma decimal.

<?php

$miFlotante1 = 1.234;
$miFlotante2 = 1.2e3; // 1.2 por 10 elevado a 3, es decir, 1200
$miFlotante3 = 7E-2; // 7 por 10 elevado a -2, es decir, 0.07

?>

Como podemos apreciar, se puede definir un float colocando el número y sus decimales, sin más, o también utilizando e o E para utilizar la notación de 10 elevado a lo que queramos.

Con cualquier número que tenga decimales, recordemos que la precisión es un factor clave. El valor de 1 dividido por 3 es 0.333333 periódico, lo que no se puede almacenar como tal. Por tanto, la precisión no será 100% correcta al igual que si utilizamos el finito 0.33333 en cualquier problema matemático en lugar de la fracción 1 dividido por 3, no obtendremos un resultado 100% preciso.

Bool o boolean

El tipo más simple, el que indica únicamente si algo es verdadero o falso. No tiene pérdida, simplemente debemos definirlo con las palabras reservadas true o false, independientemente de si están en mayúsculas, minúsculas, etc. Veamos el sencillo ejemplo.

<?php

$miBool1 = true;
$miBool2 = TRUE;
$miBool3 = false;

?>

Aunque no lo parezcan, serán muy útiles para las estructuras de control de nuestros programas, donde decidiremos si se hace una cosa u otra en base a un resultado booleano.

Resumen de los tipos de datos elementales

Hemos visto la definición en PHP de los tipos de datos elementales que más vais a usar durante vuestra vida como programadores. Definir números y textos, añadiendo los booleanos, es la parte fundamental para construir nuestros programas. Una vez hemos sabido cómo asignar variables y los tipos de datos elementales, empezaremos a construir nuestros primeros ladrillos en cuanto aprendamos a utilizar los operadores más básicos.

Deja una respuesta