Lección 2: Variables

Para declarar una variable debe tener la siguiente estructura.

$edad = 31;

$edad es el nombre de la variable. Puede empezar por cualquier carácter salvo un número.

$piso = 31; // Válido
$3escalera = 2; // Inválido

El símbolo = es equivalente a una flecha que apunta de derecha a izquierda (⬅️), no confundas con el significado real del símbolo: no es un igual. El valor de la derecha es guardado en la izquierda. O más técnicamente: el valor se guarda en un espacio de memoria con el nombre de la izquierda. De este modo lo podrás reutilizar.

El valor pueden ser varios tipos.

$nombre = 'Manolo'; // Texto. Puede ser con comillas simples o dobles (String)
$edad = 31; // Enteros (Integer)
$altura = 1.72; // Decimales, usando el punto en lugar de la coma (Float)
$mayorEdad = True; // Verdad o mentira (Boolean)

Si quieres imprimirlo solo debes hacer uso de echo.

echo $edad;

Visibilidad (Ámbito de variables)

Una variable por defecto tiene un alcance local. No puede usarse en otro script (o página). Si quieres que sea accesible por cualquier documento, debes usar la palabra reservaba global.

$localizacion = 'Valencia'; // Local
$propietario = 'Cirque du Soleil';
global $propietario; // Global

Constantes

En ocasiones es necesario indicar una variable va a ser inmutable. Ello ocurre porque hay cosas que nunca cambian ni quieres que cambien: número PI, velocidad de la luz, fuerza de la gravedad, días de la semana…

define('gravedad', 9.8);

Concadenar

No es lo mismo usar comillas simples o dobles.

$texto1 = 'Atapuerca';
$texto2 = "Museo de la Evolucion";

Tal vez en apariencia funcionen igual. Pero cuando se utilizan las comillas dobles se le indica que dentro puede existir una variable.

$emisora = 'La Ser';
echo "Me gusta escuchar $emisora";
// Me gusta escuchar La Ser

Si hubiera utilizado comillas simples lo hubiera interpretado tal cual estaba escrito.

$emisora = 'La Ser';
echo 'Me gusta escuchar $emisora';
// Me gusta escuchar $emisora

Esta técnica es una forma sencilla de concadenar variables sin usar un punto.

$mes = 'Julio';
$dia = '11';
echo "Mi cumpleaños es el $dia de $mes";
// Mi cumpleaños es el 11 de Julio

Acostumbrate a usar siempre comillas simples salvo que quieras concadenar una variable. Os ayudaréis mutuamente: PHP trabajará menos y tu tendrás páginas que cargarán más rápido.

Operaciones aritméticas

Para realizar operaciones matemáticas se utiliza los mísmos simbolos que estamos acostumbrados (salvo el símbolo igual por las razones mencionadas).

$resultado = 5 + 3;

echo $resultado;
// 8

Los valores pueden estar en tantas variables como sean necesarios.

$num1 = 8;
$num2 = 2;
$resultado = $num1 + $num2;

echo $resultado;
// 10

Otras operaciones disponibles.

$resultado = $num1 + $num2; # Sumar
$resultado = $num1 - $num2; # Restar
$resultado = $num1 / $num2; # Dividir
$resultado = $num1 * $num2; # Multiplicar
$resultado = $num1 % $num2; # Resto
$resultado = $num1 ** $num2; # Potencia (Elevado a...)

Para realizar operaciones complejas te puedes apoyar en los paréntesis para indicar el orden de las operaciones.

$resultado = ($num1 % $num2) * 5 + (2 * 5);

¿Todo claro? Vamos a jugar a un juego: observar el siguiente código.

$num1 = '4';
$num2 = 99;
$resultado = $num1 + $num2;

¿Cuanto vale $resultado? ¿499 o 103?

echo $resultado;
// 103

¿Qué ha pasado? PHP ignora que una de las variables sea un String (tipo texto) a la hora de realizar operaciones.

Este efecto se llama tipado débil o tipado dinámico. Debería fallar ya que es imposible sumar un texto con un número, pero PHP te lo permite. A pesar que parezca una fortaleza es una debilidad del lenguaje. ¡No ocurre en otros sitios!

1-1 1-2 1-3