El IVA, escrito en tres sitios
Un bar calcula el IVA en la carta, en el ticket y en la factura. Son tres cuentas iguales.
Un día cambia el porcentaje. Tienes que corregir tres sitios, y seguro que olvidas uno.
Una función lo resuelve. La escribes una vez y la usas todas las veces que quieras.
Palabras clave
| Palabra | Qué significa | Ejemplo |
|---|---|---|
| Función | Un trozo de programa con nombre que haces una vez y usas muchas. | function greet() { ... } |
| Llamar | Pedir a una función que trabaje, escribiendo su nombre. | greet("Ana"); |
| Parámetro | Un dato que la función necesita. Va entre paréntesis al crearla. | $name |
| Argumento | El valor concreto que das al llamar a la función. | "Ana" |
| return | Entrega un valor a quien llamó a la función y la termina. | return $total; |
| Valor por defecto | El valor que usa un parámetro si no se lo das. | $percent = 10 |
| Alcance | El lugar donde existe una variable. Una variable de dentro no se ve fuera. | $total |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Crear una función y llamarla
Se crea con la palabra function, un nombre y los parámetros entre paréntesis. El trabajo va entre llaves.
Después llamas a la función escribiendo su nombre y los valores entre paréntesis.
Puedes escribir el tipo de cada parámetro y el tipo que devuelve. Ayuda a descubrir errores.
Pruébalo: una función que saluda
<?php
function greet(string $name): string {
return "Hola, " . $name . "!";
}
echo greet("Marta") . "\n";
echo greet("Iker") . "\n";
// Llama a greet con tu nombre.
return no es lo mismo que echo
echo escribe algo en la respuesta. Se ve, pero el programa no lo puede usar después.
return entrega un valor a quien llamó a la función. Puedes guardarlo en una variable o seguir calculando con él.
Casi siempre quieres return. Escribir se deja para el final.
Repaso rápido: las piezas
Inténtalo
Repaso rápido: las piezas
3 preguntasTus respuestas se corrigen aquí y no se guardan. Una cuenta guarda tus resultados.
Pruébalo: echo frente a return
<?php
function doubleEcho(int $n): void {
echo $n * 2;
}
function doubleReturn(int $n): int {
return $n * 2;
}
doubleEcho(4);
echo "\n";
$result = doubleReturn(4);
echo $result + 1;
echo "\n";
Valores por defecto
Un parámetro puede traer un valor ya puesto. Se escribe con un signo igual en la lista.
Si llamas a la función sin ese dato, usa el valor por defecto. Si lo das, usa el tuyo.
Los parámetros con valor por defecto van siempre al final de la lista.
Pruébalo: el IVA de la carta
<?php
// Si no dices el porcentaje, usa el 10.
function withVat(float $price, int $percent = 10): float {
return $price * (100 + $percent) / 100;
}
echo withVat(10) . "\n";
echo withVat(20) . "\n";
echo withVat(10, 21) . "\n";