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

return ou echo

A perguntinha é simples, mas passei bons minutos nessa questão:

Por que com o return não vai? Mas vai com o echo. (Veja a ultima linha de codigo)


function deposita ($conta, $valorADepositar)
{
    if ($valorADepositar > 0){
        $conta['saldo'] += $valorADepositar;
    }else{
        echo "Não é possivel depositar";
    }
2 respostas
solução!

Porque o echo é um comando de saída de dados, enquanto o return apenas retorna algum dado quando a função for totalmente resolvida. Nessa sua função ai, tá correto dessa forma, porque você não quer retornar essa mensagem pra nada. tenta usar dessa forma que fiz pra você ver o que acontece.

function deposita ($conta, $valorADepositar)
{
    if ($valorADepositar > 0){
        $conta['saldo'] += $valorADepositar;
        return;
    }

    echo "Não é possivel depositar";
}

O return serve basicamente pra duas coisas, indicar que a função terminou e parar sua execução ou retonar algum dado.

O return sozinho serve para finalizar a função, mas quando adiciona algum valor depois dele, esse valor é retornado pela função, mas você só vai ver esse valor, se atribuir essa função a uma variável ou usar o echo pra mostrar o valor. tipo assim:

function somar() 
{
    return 1 + 2;
}

$resultado = somar();

echo $resultado; #isso irá mostrar 3, porque resultado retornado foi armazenado em uma variável, assim sendo possível utilzar em outras partes do código.