1
resposta

[Dúvida] Como criar uma função que remove uma conta utilizando comando unset

Essas são as contas usadas no código

$contasCorrentes = [
        '123.456.789-10' => [
            'titular' => 'Juan',
            'saldo' => '1000000000'
        ], 
        '123.456.789-11' => [
            'titular' => 'Maria',
            'saldo' => '150'
        ], 
        '123.456.789-12' => [
            'titular' => 'João',
            'saldo' => '4000'
        ]
    ];

Tentei criar uma função que remove a conta caso o valor do saldo seja igual a zero

function excluirConta(array &$conta)
    {
        if($conta['saldo'] == 0){
            unset($conta);
        }else{
            exibeMensagem("O saldo da conta precisa estar zerado.");
        }
    }

O código executa sem nenhum erro, porém a conta não é excluída.

1 resposta

Boa tarde Juan, fiz uma alteração na sua função. Você precisa passar o array de contas para funcionar.

function excluirConta(array &$contasCorrentes, string $cpf)
{
    if (!isset($contasCorrentes[$cpf])) {
        echo "Conta não existe!" . PHP_EOL;
        return;
    }

    if (floatval($contasCorrentes[$cpf]['saldo']) > 0) {
        echo "O saldo da conta precisa estar zerado." . PHP_EOL;
        return;
    }

    echo "Conta {$contasCorrentes[$cpf]['titular']} excluida." . PHP_EOL;
    unset($contasCorrentes[$cpf]);
}