2
respostas

Fatal error: Uncaught Error

Boa noite, o meu como consigo resolver esse problema pois devorei o código aqui mas não consegui entender como consertar o problema, to no inicio ainda na programação.Poderia dar uma dica ?por gentileza

Fatal error: Uncaught Error: Call to undefined function mb_strtoupper() in C:\Users\Banco\Desktop\Desktop02\Alura\PHP\php-arrays-strings-funcoes\Arquivos\funcoes.php:31 Stack trace: #0 C:\Users\Banco\Desktop\Desktop02\Alura\PHP\php-arrays-strings-funcoes\Arquivos\banco.php(37): titularComLettresMuscular(Array) #1 {main} thrown in C:\Users\Banco\Desktop\Desktop02\Alura\PHP\php-arrays-strings-funcoes\Arquivos\funcoes.php on line 31

logo abaixo esta meu código.

<?php

require_once 'funcoes.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
    ]
];

$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'],
    900
);

unset($contasCorrentes['123.456.689-11']);

titularComLettresMuscular($contasCorrentes['123.256.789-12']);

?>


<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<h1>Contas correntes</h1>

<dl>
    <?php foreach($contasCorrentes as $cpf => $conta) { ?>
        <dt>
            <h3><?= $conta['titular']; ?> - <?= $cpf; ?></h3>
        </dt>
        <dd>Saldo: <?= $conta['saldo']; ?></dd>
    <?php } ?>
</dl>
</body>
<?php

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

    return $conta;
}

function exibeMensagem(string $mensagem)
{
    echo $mensagem . '<br>';
}

function depositar(array $conta, float $valorADepositar): array
{
    if ($valorADepositar > 0) {
        $conta['saldo'] += $valorADepositar;
    } else {
        exibeMensagem("Depositos precisam ser positivos");
    }
    return $conta;
}

function titularComLettresMuscular(array &$conta)
{
    $conta['titular'] = mb_strtoupper($conta['titular']);
}

function exibeConta (array $conta)
{
    ['titular' => $titular, 'saldo' => $saldo] = $conta;
    echo  "<li>Titular: $titular. Saldo: $saldo </li>";
}

?>
2 respostas

Boa noite,

Cara testei seu código na minha máquina e funcionou perfeitamente, qual sua versão do PHP? na minha máquina estou rodando PHP 8.0.1, verifica também se os arquivos foram salvos em alguma modificação que você fez.

Boa noite,Lucas estou usando.

PHP 8.0.6 (cli) (built: May  4 2021 23:31:41) ( NTS Visual C++ 2019 x64 )
Copyright (c) The PHP Group
Zend Engine v4.0.6, Copyright (c) Zend Technologies

; Directory in which the loadable extensions (modules) reside.

; http://php.net/extension-dir

;extension_dir = "./"

; On windows:

extension_dir = "ext"

;extension=bz2
;extension=curl
;extension=ffi
;extension=ftp
;extension=fileinfo
;extension=gd
;extension=gettext
;extension=gmp
;extension=intl
;extension=imap
;extension=ldap
extension=mbstring

Estou tentando abrir o arquivo no navegador, tu poderia colocar seu código para eu comparar com o meu ?