5
respostas

Não consegui liberar a extensão mbstring.

Boa tarde pessoal,

Eu fiz o passo a passo do professor Vinicius para habilitar a extensão mbstring e não consegui. Olhei a pergunta do colega Gabriel que também não tinha conseguindo, porém eu não tenho o XAMPP e afins, instalado no meu notebook. Ao ver a pasta PHP para fazer a alteração eu vi que a pasta php.ini aqui no meu computador está diferente, está php.ini-development. Estou usando a versão mais recente do PHP. Alguém pode me ajudar?

5 respostas

Opa, Érylin.

Uma das primeiras coisas que a gente faz ao instalar o PHP é renomear esse php.ini-development para php.ini. Dessa forma o PHP vai conseguir encontrar o arquivo e carregar as configurações. :-)

No meu caso, o arquivo está de forma correta e mesmo assim o programa não funcio. Eu tinha o xampp instalado no meu computador, pq estou fazendo a Formação Wordpress e nos primeiros cursos, o XAMPP foi a ferramenta utilizada pelo instrutor para fazermos os exercícios dos plugins de wordpress. Mas, mesmo desinstalando não consigo liberar a extensão, e mesmo quando não uso a opção "mb_" não consigo executar o arquivo corretamente, as letras não ficam maiúsculas. Segue meu código:

banco.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
    );

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

foreach ($contasCorrentes as $cpf => $conta){
    exibemensagem(
        "$cpf {$conta['titular']} {$conta['saldo']}"
);
}

funcoes.php:



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;  
}

function titularComLetraMaiuscula(array &$conta)
{
  return $conta['tiular'] =  strtoupper($conta['titular']);


}

Bruno, você escreveu tiular ao invés de titular na função.

O problema é sempre menor do que a gente espera. Obrigado de verdade!

Nada, Bruno. Acontece, principalmente usando arrays.

Quando a gente estudar sobre Orientação a Objetos esses problemas são bem mais fáceis de encontrar. :-D

Não se esquece de marcar o tópico como solucionado. :-)