Oi Carlos, tudo bem? 😊
Parabéns por ter resolvido o problema! 👏
Para ajudar outros estudantes que possam ter a mesma dúvida, vou comentar sobre o seu código.
No seu código, as funções depositar e sacar não estavam atualizando o saldo corretamente. 😜
Dentro dessas funções, você estava realizando a operação de adição ou subtração, mas não estava atribuindo o resultado de volta ao saldo da conta.
Para corrigir isso, você precisa usar o operador de atribuição += para somar e atribuir o novo valor ao saldo, e -= para subtrair e atribuir.
Aqui está o código corrigido:
<?php
$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;
}
foreach ($contasCorrentes as $cpf => $conta) {
ExibeMensagem($cpf . " " . $conta['titular'] . ' ' . $conta['saldo']);
}
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 saldo suficiente para sacar");
} else{
$conta['saldo'] -= $valorAsacar;
}
return $conta;
}
$contasCorrentes ['123.256.789-12'] = depositar($contasCorrentes['123.256.789-12'], 500
);
var_dump($contasCorrentes);
Além disso, usei a função var_dump para exibir o resultado final do array $contasCorrentes após o depósito, assim você pode verificar se a operação foi realizada corretamente. 🤔
🎓 Para saber mais:
Espero ter ajudado e bons estudos! 🧐