Returning Values
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 (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 × height).
Llama a la función con los valores de entrada, almacena 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:
48Hoja de referencia
La declaración return envía un valor de vuelta a donde se llamó la función, permitiéndote usar el resultado en otras partes de tu código:
<?php
function add($a, $b) {
return $a + $b;
}
$result = add(5, 3);
echo $result; // Outputs: 8
?>Los valores devueltos pueden usarse en cálculos o pasarse a otras funciones:
<?php
function double($num) {
return $num * 2;
}
echo double(5) + double(3); // Outputs: 16
?>Cuando PHP encuentra una declaración return, la función se detiene inmediatamente. Cualquier código después de return no se ejecutará.
Prué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
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types5Conditional Logic
If StatementIf - ElseThe Ternary OperatorNull Coalescing OperatorSwitch StatementRecap - Making Decisions3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators