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

Erro após incluir array antes de $conta

Fatal error: Uncaught TypeError: Argument 1 passed to sacar() must be of the type array, null given, called in /Users/jorge/Documents/curso-php/avancando/banco.php on line 48 and defined in /Users/jorge/Documents/curso-php/avancando/banco.php:36
Stack trace:
#0 /Users/jorge/Documents/curso-php/avancando/banco.php(48): sacar(NULL, 500)
#1 {main}
  thrown in /Users/jorge/Documents/curso-php/avancando/banco.php on line 36
<?php

$contaCorrentes = [

    '123.456.789-10 ' => [
        'titular' => 'Maria',
        'saldo' => 10000
    ],
    '135.790.864-21 ' => [
        'titular' => 'Alberto',
        'saldo' => 300
    ],

    '124.578.805-73 ' => [
        '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 saldo suficiente");
    }else
    {
        $conta['saldo'] -= $valorAsacar;
    }
    return $conta;
}


$contaCorrentes['123.456.789-10'] = sacar($contaCorrentes['123.456.789-10'], 500);
$contaCorrentes['124.578.805-73'] = depositar($contaCorrentes['124.578.805-73'], 900);

foreach ($contaCorrentes as $cpf => $conta) {
        exibeMensagem($cpf . " ". $conta['titular'] .' ' . $conta['saldo']);
}
3 respostas
solução!

Olá, Jorge

No final das chaves (CPFs) do seu array existem espaços.

Basta retirá-los.

;-)

Obrigado Vinicius Dias. Meus parabéns pelo o curso, estou gostando bastante.

Opa, obrigado pelo feedback, Jorge!

Forte abraço e bons estudos!