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

Duvida porque quando coloco valorASacar esta dando errado

<?php

//declaro um array com as propriedades da conta $contasCorrentes = [ '123.456.789-10' => [ 'titular' => 'Jow', 'saldo' => 10000 ], '123.456.689-11' => [ 'titular' => 'James', 'saldo' => 300 ], '123.456.789-12' => [ 'titular' => 'Mats', 'saldo' => 100 ] ];

//Funções para operações bancarias depositar, sacar e exibir mensagem 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; //estabelecer parametro de deposito }

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

return $conta;

//estabelecer parametros de saque

}

//função de saque $contasCorrentes['123.456.789-10'] = sacar( $contasCorrentes['123.456.789-10'], valorASacar:1200 ); //função de saque $contasCorrentes['123.456.689-11'] = sacar( $contasCorrentes['123.456.689-11'], valorASacar:150 ); //função deposito $contasCorrentes['123.456.789-12'] = depositar( $contasCorrentes['123.456.789-12'], valorADepositar:1200 );

// estabelece parametros de captação e e exibição dos dados das funçoes e array foreach ($contasCorrentes as $cpf => $conta) { exibeMensagem($cpf . " " . $conta['titular'] . ' ' . $conta['saldo']);

2 respostas
solução!

O único erro no seu código é que vc não fechou o loop foreach com " } ". Rodei o seu código aqui e tudo funciona.

<?php

//declaro um array com as propriedades da conta 
$contasCorrentes = [
    '123.456.789-10' => [ 'titular' => 'Jow', 'saldo' => 10000 ],
    '123.456.689-11' => [ 'titular' => 'James', 'saldo' => 300 ],
    '123.456.789-12' => [ 'titular' => 'Mats', 'saldo' => 100 ]
];

//Funções para operações bancarias depositar, sacar e exibir mensagem 

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;
    //estabelecer parametro de deposito
}

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

return $conta;

//estabelecer parametros de saque

}

//função de saque 
$contasCorrentes['123.456.789-10'] = sacar( $contasCorrentes['123.456.789-10'], valorASacar:1200 );
//função de saque 
$contasCorrentes['123.456.689-11'] = sacar( $contasCorrentes['123.456.689-11'], valorASacar:150 );
//função deposito 
$contasCorrentes['123.456.789-12'] = depositar( $contasCorrentes['123.456.789-12'], valorADepositar:1200 );

// estabelece parametros de captação e e exibição dos dados das funçoes e array 
foreach ($contasCorrentes as $cpf => $conta) { 
    exibeMensagem($cpf . " " . $conta['titular'] . ' ' . $conta['saldo']);
} <<--------------------------------- faltou somente isso

Muito obrigado Vinicios, apanhei muito até perceber isso :( To no comecinho sempre é bom contar com o auxilio!