PHP (00) Fundamentos básicos (06): Variables

Hasta ahora todo lo que hemos hecho han sido cosas estáticas, mostrar un texto con echo que puede mostrarse con la etiqueta <p></p> en html no es que sea algo muy atractivo, pero ahora vamos a poder modificar eso utilizando variables y cuando entremos en el siguiente tema a estudiar las estructuras de control de flujo entonces ya veremos como si que es algo excepcional, mucho más cuando esas variables incluso puedan ser recogidas por un formulario… pero no adelantemos acontecimientos y basemonos ahora mismo solo en las variables…

¿qué son las variables?

Las variables en PHP, lo mismo que en cualquier otro lenguaje de programación son ubicaciones de la memoria con nombres asignados y que guardan datos.

Por ejemplo, imagina que queremos saber el número de apartamentos en alquiler en tres ciudades como Málaga, Cádiz y Córdoba, podríamos saber el numero de apartamentos disponibles en cada ciudad o en las tres utilizando variables.

¿cómo se declaran la variables en php?

PHP a diferencia de JAVA, no esta fuertemente tipado, es decir, no hace falta declarar que tipo de variable estamos declarando, simplemente hay que declararlas sin indicarles tipo, aunque es importante saber que tipos hay (ver más abajo).

Para declarar la variable simplemente hay que escribir el nombre que queremos ponerle a la variable con el signo dolar delante ($malaga).

Es interesante no poner signos de acentuación ni caracteres extraños en el nombre de las variables ya que puede llegar a producir errores, además no debemos utilizar ninguna de las palabras reservadas para ello. Afortunadamente como hispanoparlantes no hay demasiadas coincidencias entre nuestro idioma y las palabras reservadas en PHP que son en inglés.

Siguiendo con el ejemplo de los apartamentos en las tres ciudades haremos un pequeño script para el mismo:

<html>
    <head>
        <title>Declaración de Variables</title>
    </head>
    <body>
        <h2>Apartamentos disponibles en ciudades</h2>
        <?php
            //Declaramos las variables y sus valores
            $malaga = 20;
            $cadiz = 12;
            $cordoba = 5;
        ?>
    </body>
</html>

Como puedes observar, hemos introducido el php en el código html en el cual hemos hecho un comentario para advertir de que declaramos las variables y después les asignamos un valor. Aunque de momento nuestro script no hace absolutamente nada.

Mostrando el valor de las variables

¿Recuerdas a nuestro amigo echo? pues de nuevo va ha ayudarnos, ya que es el encargado de mostrar la información como veremos a continuación:

<html>
    <head>
        <title>Declaración de Variables</title>
    </head>
    <body>
        <h2>Apartamentos disponibles en ciudades</h2>
        <?php
            //Declaramos las variables y sus valores
            $malaga = 20;
            $cadiz = 12;
            $cordoba = 5;
            $total = $malaga+$cordoba+$cadiz;
             //mostramos los valores de las variables con echo
            echo 'apartamentos disponibles en Málaga = ' . $malaga . '<br>';
            echo 'apartamentos disponibles en Cádiz = ' . $cadiz . '<br>';
            echo 'apartamentos disponibles en Córdoba = ' . $cordoba . '<br>';
            echo 'apartamentos disponibles en total = ' . $total;
        ?>
    </body>
</html>

En el script puedes ver que hemos sumado todas las variables para obtener la total, y luego hemos mostrado varías líneas de texto donde se muestran los apartamentos disponibles por ciudades y los totales.
Habrás observado que para concatenar variables al texto y al código html <br/> se utiliza el (.) y que todo lo que PHP debe de interpretar como htm va dento de comillas, mientras que para obtener el valor de las variables estas no pueden ir entre comillas.
No te asustes, esto que en principio puede quebrar un poco la cabeza es algo realmente intuitivo y sencillo, sobre todo si utilizas un editor de textos que utiliza colores.

Importante: Siempre debes de tener una variable declarada antes de utilizarla o php dará un error como respuesta!!!!

Concatenando variables
Esto es una cuestión que surge al descubrir el operador (.), ¿podria concatenar dos variables? y la respuesta es sí, de hecho hay que diferenciar entre variables numéricas y de cadena, por ejemplo:

$numerica1 = 1234;
$numerica2 = 5678;
$cadena1 = '1234';
$cadena2 = 'Polonia';
echo '$numerica1 . $numerica2 = ' . $numerica1 . $numerica2 .'<br>';
echo '$numerica1 . $cadena1 = ' . $numerica1 . $cadena1 . '<br>';
echo '$numerica1 + $numerica2 = ' . $numerica1 + $numerica2 . '<br>';
echo '$numerica1 + $cadena1 = ' . $numerica1 + $cadena1 . '<br>';
echo '$numercia1 + $cadena2 = ' . $numercia1 + $cadena2 . '<br>';
echo '$cadena1 + $cadena2 = ' . $cadena1 + $cadena2 . '<br>';
echo '$cadena1 . $cadena2 = ' . $cadena1 . $cadena2;

Este código que podemos analizar para ver la diferencia entre + y . nos da como resultado:

$numerica1 . $numerica2 = 12345678
$numerica1 . $cadena1 = 12341234
5678
1234
Notice: Undefined variable: numercia1 in C:\xampp\htdocs\miphp\pruebadate.php on line 19

0
0
$cadena1 . $cadena2 = 1234Polonia

Observando el resultado podemos ver que los valores numéricos y las cadenas se puede concatenar pero no sumar entre ellas y tampoco se pueden sumar dos cadenas.
Esto puede dar errores, por lo que siempre es interesante tener claro si trabajamos con valores numéricos o cadenas.