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 en juego la instrucción return.
La instrucción return devuelve un valor al lugar desde donde se llamó a la función:
<?php
function add($a, $b) {
return $a + $b;
}
$result = add(5, 3);
echo $result;
?>Esto muestra 8. En lugar de imprimir la suma dentro de la función, la devolvemos. El código que llama a la función recibe ese valor y lo guarda en $result.
Los valores de retorno hacen que las funciones sean mucho más versátiles. Puedes usar el valor devuelto en cálculos, pasarlo a otras funciones o guardarlo para más tarde:
<?php
function double($num) {
return $num * 2;
}
echo double(5) + double(3);
?>Esto da como resultado 16 (10 + 6). Cada llamada a double() devuelve un valor que se usa en la suma.
Algo importante que debes saber: cuando PHP encuentra una instrucción return, la función se detiene inmediatamente. El código que esté 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 (p. ej.,
5) - Un número que representa la altura de un rectángulo (p. ej.,
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
// Lee la entrada
$base = intval(fgets(STDIN));
$height = intval(fgets(STDIN));
// TODO: Crea una función llamada calculateArea que acepte los parámetros $base y $height
// La función debe devolver el área (base × height)
// TODO: Llama a la función con los valores de entrada y guarda el resultado en una variable
// Muestra 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
1Introducción a PHP
El lenguaje PHP¡Hola, mundo!Etiquetas e instruccionesComentariosEl salto de línea4Operadores 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 nomenclaturaRepaso: 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 compuestaIncremento/decrementoPrecedencia de operadoresRepaso: cálculos sencillosOperadores de cadenasPractica por tu cuenta: Compilador de PHP online