Easier to read with cream paper, a tint, more contrast or larger text? Choose your colours and text, once, for every page.

Vista previa

Funciones en PHP

Esta es la primera página de la lección. Léela y prueba las actividades. El resto está en el curso completo.

35 minutos

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

PalabraQué significaEjemplo
FunciónUn trozo de programa con nombre que haces una vez y usas muchas.function greet() { ... }
LlamarPedir a una función que trabaje, escribiendo su nombre.greet("Ana");
ParámetroUn dato que la función necesita. Va entre paréntesis al crearla.$name
ArgumentoEl valor concreto que das al llamar a la función."Ana"
returnEntrega un valor a quien llamó a la función y la termina.return $total;
Valor por defectoEl valor que usa un parámetro si no se lo das.$percent = 10
AlcanceEl 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

Código: php
<?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 preguntas
Pruébalo: tus respuestas se corrigen aquí y después se olvidan. Inicia sesión si quieres que se guarde tu puntuación y continuar donde lo dejaste.Iniciar sesión para guardar tu puntuación

Tus respuestas se corrigen aquí y no se guardan. Una cuenta guarda tus resultados.

Pruébalo: echo frente a return

Código: php
<?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

Código: php
<?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";

La lección continúa

11 partes más de esta lección están en el curso completo, con los ejercicios y la comprobación final. Una cuenta te da todo.