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

[Dúvida] Duvida

Neste código na function "depositar" como o codigo identifica que a variavel $ValorAdeppositar vai ser o valor inserido quando chamo a função no final do código?


$contasCorrentes = [
    '123.456.789-10' => [
        'titular' => 'Maria',
        'saldo' => 10000
    ],
    '123.456.689-11' => [
        'titular' => 'Alberto',
        'saldo' => 300
    ],
    '123.256.789-12' => [
        'titular' => 'Vinicius',
        'saldo' => 100
    ]
];

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;
}

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

    return $conta;
}

$contasCorrentes['123.456.789-10'] =sacar(
    $contasCorrentes['123.456.789-10'], 500
);

$contasCorrentes ['123.456.689-11'] = sacar(
    $contasCorrentes['123.456.689-11'], 200
);

$contasCorrentes ['123.256.789-12'] = depositar(
    $contasCorrentes ['123.256.789-12'], 200
);

foreach ($contasCorrentes as $cpf=>$conta) {
    exibeMensagem($cpf. " " . $conta['titular']. ' ' . $conta['saldo']);
}

3 respostas

Não sei se consegui entender sua pergunta... todavia segue:

A variável $valorAdepositar é passada como um parâmetro para a função depositar quando ela é chamada no final do código. Isso é feito na linha:

$contasCorrentes ['123.256.789-12'] = depositar(
    $contasCorrentes ['123.256.789-12'], 200
);

Na linha acima, o* valor "200"** é *passado como o segundo parâmetro para a função depositar, e é atribuído à variável $valorAdepositar dentro da função.

solução!

Vou tentar ser mais didático:

A função "depositar" é uma função que adiciona dinheiro a uma conta bancária. Ela precisa saber qual conta bancária adicionar o dinheiro e quanto dinheiro adicionar. A forma como ela sabe qual conta bancária é acessar é passando a conta como um primeiro parâmetro quando a função é chamada. A forma como ela sabe quanto dinheiro adicionar é passando um segundo parâmetro quando a função é chamada.

No final do código, essa função é chamada para adicionar 200 reais na conta do titular Vinicius, que é identificado pelo cpf 123.256.789-12.

$contasCorrentes ['123.256.789-12'] = depositar(
    $contasCorrentes ['123.256.789-12'], 200
);

A primeira coisa que acontece quando essa linha é executada é que o sistema pega a conta de Vinicius, que é identificada pelo cpf 123.256.789-12 e armazena em uma variável temporária. Em seguida, a função depositar é chamada e essa variável temporária é passada como o primeiro parâmetro, e o valor 200 é passado como o segundo parâmetro. Dentro da função, a variavel $valorAdepositar é criada e recebe o valor passado como segundo parâmetro, que é 200. Depois disso, a função adiciona esse valor ao saldo da conta e retorna a conta com o novo saldo, esse novo saldo é atribuido ao cpf 123.256.789-12.

Show, consegui entender! Muito obrigado!