Returning Values
Parte da seção Fundamentos do Journey de PHP da Coddy — lição 63 de 71.
As funções que criamos até agora usam echo para exibir a saída diretamente. Mas muitas vezes, você quer que uma função calcule algo e retorne o resultado para você, para que possa usá-lo em outro lugar no seu código. É aqui que entra a instrução return.
A instrução return envia um valor de volta para onde a função foi chamada:
<?php
function add($a, $b) {
return $a + $b;
}
$result = add(5, 3);
echo $result;
?>Isso exibe 8. Em vez de imprimir a soma dentro da função, nós a retornamos. O código chamador recebe esse valor e o armazena em $result.
Retornar valores torna as funções muito mais versáteis. Você pode usar o valor retornado em cálculos, passá-lo para outras funções ou armazená-lo para uso posterior:
<?php
function double($num) {
return $num * 2;
}
echo double(5) + double(3);
?>Isso produz 16 (10 + 6). Cada chamada para double() retorna um valor que é usado na adição.
Uma coisa importante a saber: quando o PHP encontra uma instrução return, a função para imediatamente. Qualquer código após return não será executado.
Desafio
FácilLeia duas linhas de entrada:
- Um número representando a base de um retângulo (ex.:
5) - Um número representando a altura de um retângulo (ex.:
3)
Crie uma função chamada calculateArea que aceita dois parâmetros: $base e $height. A função deve retornar a área do retângulo (base × height).
Chame a função com os valores de entrada, armazene o valor retornado em uma variável e imprima o resultado.
Exemplo 1:
Se as entradas forem 5 e 3, a saída deve ser:
15Exemplo 2:
Se as entradas forem 10 e 7, a saída deve ser:
70Exemplo 3:
Se as entradas forem 12 e 4, a saída deve ser:
48Folha de consulta
A declaração return envia um valor de volta para onde a função foi chamada, permitindo que você use o resultado em outro lugar no seu código:
<?php
function add($a, $b) {
return $a + $b;
}
$result = add(5, 3);
echo $result; // Outputs: 8
?>Valores retornados podem ser usados em cálculos ou passados para outras funções:
<?php
function double($num) {
return $num * 2;
}
echo double(5) + double(3); // Outputs: 16
?>Quando o PHP encontra uma declaração return, a função para imediatamente. Qualquer código após o return não será executado.
Experimente você mesmo
<?php
// Ler entrada
$base = intval(fgets(STDIN));
$height = intval(fgets(STDIN));
// TODO: Crie uma função chamada calculateArea que aceita os parâmetros $base e $height
// A função deve retornar a área (base × altura)
// TODO: Chame a função com os valores de entrada e armazene o resultado em uma variável
// Exibir o resultado
echo $result;
?>Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições 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