Variables en PHP (II): más sobre las variables en PHP y sus tipos de datos

Casi de vuelta de las vacaciones

En el post anterior hemos visto una introducción a las variables en PHP. Ahora vamos a profundizar sólo un poco más y hablaremos de otra clasificación de sus tipos de datos, aunque dejaremos alguno de ellos por su importancia (como las matrices) para próximos posts, en dedicación completa.

Dividimos las variables en cuatro grupos: alfanuméricas, numéricas, matrices y objetos. Pero a efectos prácticos, podemos clasificar las variables en estos cinco tipos, los más usuales y, por lo tanto, con los que más vamos a trabajar en cuanto nos adentremos en las operaciones con variables:

  • Booleanos (booleans)
  • Enteros (integers)
  • Decimales (decimals)
  • Cadenas ( strings)
  • Matrices (arrays)

Booleanos
Una variable de tipo booleano puede tener dos valores posibles: verdadero o falso. Se representan en inglés: TRUE (verdadero) y FALSE (falso). Su correspondencia numérica es la siguiente: un cero para el valor FALSE y cualquier otro número distinto de cero (incluidos los números negativos) equivaldrán a TRUE. Por convención, se suele utilizar el 1 como TRUE aunque, repito, puede ser cualquier número.

Usualmente se usa algún tipo de operador que devuelve un valor booleano, y luego éste es pasado a una estructura de control. Ambas cosas las veremos más adelante, pero ahora mismo, para poder seguir explicando el tipo de dato booleano, es mejor que introduzcamos los operadores en PHP, aunque ya los hallamos utilizado en ejemplos anteriores.

Un operador es algo que toma uno más valores (o expresiones, en jerga de programación) y produce otro valor (de modo que la construcción en si misma se convierte en una expresión)“.
Fuente:
Manual oficial de PHP.net.

Existen varios tipos de operadores, pero el básico es el de asignación, y se representa por mediación de un símbolo igual “=“.  Aunque en primera instancia podamos pensar  que es lo mismo que “igual a”, en realidad lo que nos está indicando es que el operando de la parte izquierda toma su valor de el operando de la parte derecha, el que está tras el símbolo igual. A esta ‘representación’ la denominamos ‘expresión de asignación’, al asignar a una variable un tipo de dato, como ya hemos visto en varios ejemplos anteriores.

El valor de una expresión de asignación es el valor asignado. Es decir, el valor de “$numero = 118” es de 118.

Los enteros y decimales también los hemos tratado ya en el post anterior. Aunque podríamos hablar más sobre ellos (tal vez vuelva sobre ellos más adelante), vamos a pasar directamente a un tipo de variable muy utilizado e importante en PHP, las cadenas de texto o strings (en inglés):

Cadenas de texto (strings):
La mayor parte de la información que se ‘maneja’ e una página web es texto, cadenas de texto o strings. Una cadena de texto es simplemente una secuencia de caracteres, como el párafo que acabas de leer. Con el lenguaje PHP podemos definirlas de 3 formas distintas:

  • Con comillas simples
  • Con comillas dobles
  • En bloque

Como ya hemos tratado las dos primeras formas, vamos a ver ahora las Cadenas de texto en bloque. Las utilizamos para cadenas de gran longitud, es decir, textos largos. Veamos cómo con la denominada sintáxis heredoc:

<?php echo
<<<BLOQUE
<b>¡Hola mundo!</b>

Esto es una cadena en bloque.
Se mostrarán todas las líneas de texto
y no tengo que utilizar caractéres de escape.
Lo único que pasa es que todo este texto
se visualizará sin saltos de línea predeterminados.
Luego veremos un ejemplo
utilizando saltos de línea en una cadena en bloque.
BLOQUE;
?>
Ver ejemplo

Como habréis podido observar, no he tenido que definir la variable bloque previamente y he utilizado la función echo para imprimir el resultado en pantalla. Pero para utilizar las cadenas de texto en bloque o sintáxis heredoc, debemos seguir algunas reglas:

– Escribir la variable en mayúscula precedida por tres signos menor que (<<<)
– Finalizar la declaración de la variable con el nombre también en mayúsculas seguido de un punto y coma (;)

Tenéis mucha más información al respecto en el enlace anterior sobre la sintáxis heredoc. Si lo pensáis bien, con esta sintáxis podemos incluir bastante código html e incluso cósdigo Javascript (si no me equivoco), dentro de la variable. Así, dentro del contenido de nuestras variables en bloque, podremos incluir código HTML, como retornos de carro o saltos de línea. Y esto lo digo porque aunque nosotros hayamos escrito el texto con saltos de línea, una vez procesados y mostrado el valor en el navegador web, dichos saltos de línea no se mostrarán. Para ello deberemos utilizar los llamados caracteres de escape o código html, como el salto de línea <br />

Para las cadenas de texto ‘normales’, utilizaremos los denominados carácteres de escape: 

– Barra invertida: \
– Comilla simple: ‘
– Comillas dobles: “
– Retorno de carro o salto de línea: n
– Tabuladores: t
– Signo dólar: $

Ejemplo:

<?php $texto2= “Esto es un texto con la palabra “hola” en comillas dobles”;
echo $texto2;
?>
<?php $texto5= “Esto es un texto que cuesta 1 $”;
echo $texto5;
?>

Ver ejemplo

Para saber más al respecto, os recomiendo la lectura de esta página de Wikilibros: Programación en PHP. Cadenas. A mí me ha solventado una duda que tenía al respecto.

Cuando una cadena es especificada en comillas dobles o en el interior de un bloque heredoc, las variables son interpretadas en su interior. Vamos a introducir la variable $nombre dentro de nuestra variable de cadena en bloque:

<?php
$nombre = ‘Guillermo’;
echo <<<BLOQUE
<b>¡Hola mundo!</b>
Esto es una cadena en bloque-
Se mostrarán todas las líneas de texto
y no tengo que utilizar caractéres de escape.
Lo único que pasa
es que todo este texto
se visualizará sin saltos de línea predeterminados.
Luego veremos un ejemplo
utilizando saltos de línea
en una cadena en bloque.
<br /> <br />
Por cierto, mi nombre es:<br />
<b>$nombre</b>.<br />
Aquí he utilizado otra variable<br />
dentro de la variable cadena de texto<br />
Además, he utilizado saltos de línea en HTML.
BLOQUE;
?>

Ver ejemplo

Como habréis observado, no he necesitado poner comillas dobles a la variable $nombre para llamarla o invocarla, ya que he utilizado la sintáxis heredoc. Si hubiera sido una cadena de texto normal, tendría que haber utilizado comillas dobles para que la variable se interpretara- Esto es importante tenerlo muy en cuenta. Veamos un ejemplo:

<?php   
$ciudad = “Valencia”; 
$presentacion = “Vivo en $ciudad”; 
echo $presentacion; //imprime en pantalla el contenido de la variable $presentacion: “Vivo en Valencia” 
 //sin embargo 
$presentacion = ‘Vivo en $ciudad’; 
echo $presentacion; //imprime en pantalla el texto $presentacion, literalmente: “Vivo en $presentacion” 
?> Ver ejemplo

Por último, en cuanto a las matrices o arrays, creo que es mejor que las tratemos en un post independiente, debido a su importancia. En breve…

CategoríasPHP