Menu
CoddyTech

Declaraciones del tipo de retorno

Parte de la sección Fundamentos del Journey de PHP de Coddy. Lección 66 de 71.

Al igual que puedes declarar tipos para los parámetros, también puedes especificar qué tipo debe devolver una función. Las declaraciones del tipo de retorno indican a PHP exactamente qué clase de valor devolverá tu función, lo que ayuda a detectar errores cuando una función devuelve accidentalmente el tipo incorrecto.

Para añadir un tipo de retorno, coloca dos puntos seguidos del tipo después del paréntesis de cierre de la lista de parámetros:

<?php
function add(int $a, int $b): int {
    return $a + $b;
}

echo add(5, 3);
?>

Esto muestra 8. El : int después de los paréntesis declara que esta función debe devolver un entero. Si intentaras devolver una cadena en su lugar, PHP produciría un error.

Puedes usar los mismos tipos que en las declaraciones de parámetros: int, float, string, bool y array. También existe un tipo especial llamado void para las funciones que no devuelven nada:

<?php
function sayHello(string $name): void {
    echo "Hello, $name!\n";
}

sayHello("Alice");
?>

Una función void no puede tener una instrucción return con un valor. Combinar los tipos de parámetros con los tipos de retorno hace que tus funciones se documenten por sí mismas: cualquiera que lea el código sabe inmediatamente qué entra y qué sale.

challenge icon

Desafío

Fácil

Lee dos líneas de entrada:

  1. Un precio como número decimal (p. ej., 49.99)
  2. Un porcentaje de descuento como número entero (p. ej., 20)

Crea una función llamada calculateFinalPrice que acepte dos parámetros con declaraciones de tipo:

  • $price como float
  • $discountPercent como int

La función debe tener una declaración de tipo de retorno de float y debería devolver el precio final después de aplicar el descuento.

Llama a la función con los valores de entrada e imprime el resultado devuelto.

Ejemplo 1:

Si las entradas son 100.00 y 25, la salida debería ser:

75

Ejemplo 2:

Si las entradas son 49.99 y 10, la salida debería ser:

44.991

Ejemplo 3:

Si las entradas son 200.50 y 50, la salida debería ser:

100.25

Pruébalo tú mismo

<?php
// Leer entrada
$price = floatval(fgets(STDIN));
$discountPercent = intval(fgets(STDIN));

// TODO: Crea una función llamada calculateFinalPrice con:
// - Parámetro $price con declaración de tipo float
// - Parámetro $discountPercent con declaración de tipo int
// - Declaración de tipo de retorno float
// La función debe devolver el precio final después de aplicar el descuento


// Llama a la función e imprime el resultado
echo calculateFinalPrice($price, $discountPercent);
?>
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Fundamentos

Practica por tu cuenta: Compilador de PHP online