Lección 2: Variables | Curso PHP 8.x

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;

En caso de estar dentro de un contexto HTML, deberás abrir y cerrar PHP.

<div>
    <p>
        <?php echo $edad ?>
    </p>
</div>

Si solo es una línea puedes ahorrarte el punto y coma al fina (;). Incluso existe un atajo para evitar echo.

<div>
    <p>
        <?= $edad ?>
    </p>
</div>

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…

Para crearla usaremos la funcion define().

define('GRAVEDAD', 9.8);

En cambio, para utilizarla solo usaremos su nombre sin necesidad de usar el prefijo $.

echo GRAVEDAD;
// 9.8

Otra sintaxis que nos ofrece PHP es usando la palabra const, como en JavaScript.

const GRAVEDAD = 9.8;

Ambas se comportan igual.

No intentes concadenar constantes con comillas dobles (""), en PHP no funcionarán, usa punto (.) en su lugar.

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

Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional.

Atribución/Reconocimiento-NoComercial-SinDerivados 4.0 Internacional

¿Me ayudas?

Comprame un café
Pulsa sobre la imagen

No te sientas obligado a realizar una donación, pero cada aportación mantiene el sitio en activo logrando que continúe existiendo y sea accesible para otras personas. Además me motiva a crear nuevo contenido.

Comentarios

{{ comments.length }} comentarios

Nuevo comentario

Nueva replica  {{ formatEllipsisAuthor(replyComment.author) }}

Acepto la política de Protección de Datos.

Escribe el primer comentario