Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

[Dúvida] Por que retornar a variável ao final de uma função?

Estou no curso "Avançando PHP com Array" e gostaria que alguem me explicasse por quê ao final das funções o orientador retorna a variável conta. Se não me engano ele deu uma breve explicação, mas não me recordo. Caso eu remova, há algum erro que pode acontecer?

function sacar(array $conta, float $valorASacar): array
{
    if ($valorASacar > $conta['saldo']) {
        exibeMensagem("Você não tem saldo suficiente");
    } else {
        $conta['saldo'] -= $valorASacar;
    }

    return $conta;
}

function exibeMensagem(string $mensagem)
{
    echo $mensagem . PHP_EOL;
}

function depositar(array $conta, float $valorADepositar): array
{
    if ($valorADepositar > 0) {
        $conta['saldo'] += $valorADepositar;
    } else {
        exibeMensagem("Depositos precisam ser positivos");
    }
    return $conta;
}
2 respostas
solução!

Olá, Lucas! Tudo bem?

O "retorno de valor" tem como objetivo permitir que o resultado da função seja utilizado em outras partes do código.

No exemplo visto no curso as funções sacar e depositar retornam a variável $conta após realizar as operações desejadas. Isso significa que, ao chamar essas funções, você pode atribuir o valor retornado a uma variável e utilizá-la posteriormente.

Por exemplo, se você chamar a função sacar da seguinte forma:

$conta = sacar($conta, 100);

O valor retornado pela função será atribuído à variável $conta, permitindo que você utilize o novo valor do saldo em outras partes do código.

Se você remover o return $conta no final das funções, não haverá um valor sendo retornado. Isso pode causar problemas caso você queira utilizar o resultado da função em algum outro lugar do seu programa.

Nessa aula aqui o instrutor explica mais sobre este problema:

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓

Muito obrigado, Vinicius!