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!
Actividad 1
- Guarda en un array los nombres unos amigos.
- Imprime la siguiente frase: "{amigo 1} se va de viaje".
- Crea otro array con el nombre de varias ciudades.
- Imprime la siguiente frase: "{amigo 2} se va de viaje a {ciudad 1}"
Pro:
- Imprime aleatoriamente el nombre de un amigo.
Pista shuffle($amigos).
- Aleatoriamente busca dos nombre y una ciudad para generar la siguiente frase: "{amigo aleatorio} se va de viaje con {amigo aleatorio} a la bonita ciudad de {ciudad aleatoria}.
Actividad 2
- Crea un
arraycon el nombre agenda. - Añade 2 citas (frases): "Dentista a las 12h" y otra que tú quieras.
- Imprime con
var_dump. - Te ha surgido un problema: Modifica la cita del Dentista a las 16h.
- Imprime con
var_dump. - Al final se te ha liado el día: Borra la cita con el Dentista
- Imprime con
var_dump.
Pro:
- En lugar del
var_dump, crea una lista desordenada (<ul>). ¡Pista!join().
Actividad 3
Se ha convocado un concurso de micro relatos sobre sillones incómodos. El límite de palabras para ser enviadas son de 10.
- Crea una variable con el micro relato.
- Muestra el número de palabras usando preg_split y count.
Actividad 4
- Crea un diccionario con el censo de población de: España, Portugal, Francia, Italia y Grecia. Ayudate de Wikipedia. Un ejemplo:
$censo = [
'España' => 99999,
...
]
- Ordena de mayor a menor. ¡Pista! asort hará el trabajo por ti:
asort($censo, SORT_DESC);
- Imprime con
var_dump.
Esta obra está bajo una Licencia Creative Commons Atribución-NoComercial-SinDerivadas 4.0 Internacional.
¿Me invitas a un café? ☕
Puedes hacerlo usando el terminal.
ssh customer@andros.dev -p 5555
Comentarios
Nuevo comentario
Nueva replica {{ formatEllipsisAuthor(replyComment.author) }}
Escribe el primer comentario
{{ comments.length }} comentarios