Devolver valores
Parte de la sección Fundamentos del Journey de PHP de Coddy. Lección 63 de 71.
Las funciones que hemos creado hasta ahora usan echo para mostrar la salida directamente. Pero a menudo, quieres que una función calcule algo y te devuelva el resultado, para que puedas usarlo en otra parte de tu código. Aquí es donde entra la declaración return.
La sentencia return devuelve un valor al lugar desde el que se llamó la función:
<?php
function add($a, $b) {
return $a + $b;
}
$result = add(5, 3);
echo $result;
?>Esto imprime 8. En lugar de imprimir la suma dentro de la función, la devolvemos. El código que llama recibe ese valor y lo almacena en $result.
Devolver valores hace que las funciones sean mucho más versátiles. Puedes usar el valor devuelto en cálculos, pasarlo a otras funciones o almacenarlo para más tarde:
<?php
function double($num) {
return $num * 2;
}
echo double(5) + double(3);
?>Esto produce 16 (10 + 6). Cada llamada a double() devuelve un valor que se usa en la suma.
Una cosa importante que saber: cuando PHP encuentra una declaración return, la función se detiene inmediatamente. Cualquier código después de return no se ejecutará.
Desafío
FácilLee dos líneas de entrada:
- Un número que representa la base de un rectángulo (por ejemplo,
5) - Un número que representa la altura de un rectángulo (por ejemplo,
3)
Crea una función llamada calculateArea que acepte dos parámetros: $base y $height. La función debe devolver el área del rectángulo (base × altura).
Llama a la función con los valores de entrada, guarda el valor devuelto en una variable e imprime el resultado.
Ejemplo 1:
Si las entradas son 5 y 3, la salida debe ser:
15Ejemplo 2:
Si las entradas son 10 y 7, la salida debe ser:
70Ejemplo 3:
Si las entradas son 12 y 4, la salida debe ser:
48Pruébalo tú mismo
<?php
// Leer entrada
$base = intval(fgets(STDIN));
$height = intval(fgets(STDIN));
// TODO: Crear una función llamada calculateArea que acepte los parámetros $base y $height
// La función debe devolver el área (base × altura)
// TODO: Llamar a la función con los valores de entrada y almacenar el resultado en una variable
// Imprimir el resultado
echo $result;
?>Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
4Operadores de comparación y lógicos
Operadores de comparaciónIgualdad e identidadOperadores lógicos, parte 1Operadores lógicos, parte 2Repaso: lógica simple2Variables y tipos de datos
NúmerosCadenas y comillasBooleanosConvenciones de nombresRepaso: inicialización de variablesVariables vacíasConcatenación de cadenasObtener datos del usuarioConvertir a otros tipos5Lógica condicional
Sentencia ifIf - ElseEl operador ternarioOperador de coalescencia nulaSentencia switchRepaso - Tomar decisiones3Operadores básicos
Operadores aritméticosOperador móduloOperador de exponenciaciónAsignación combinadaIncremento/DecrementoPrecedencia de operadoresRepaso: cálculos simplesOperadores de cadenasPractica por tu cuenta: Compilador de PHP online