Solucionado (ver solução)

Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

Solucionado
(ver solução)
1
resposta

Letra Maiúscula

Eu fiz alguma coisa errada? Insira aqui a descrição dessa imagem para ajudar na acessibilidade Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta
solução!

Boa tarde Eduardo, tudo bem?

Creio que isto esteja acontecendo porque falta um operador de referência "&" antes do parâmetro '$conta'. Desse jeito:

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

Dentro das funções, ao passar um parâmetro sem o operador "&", você apenas manipula uma cópia do parâmetro real. Já quando você utiliza o operador de referência "&", você passa a manipular as variáveis diretamente pela função.

Manipular variáveis por referência em uma função não é muito recomendado, portanto uma solução alternativa seria fazer algo como:

function titularComLetrasMaiusculas (array $conta) :string
{
    return mb_strtoupper($conta['titular']);
}

$contasCorrentes['123.256.789-12']['titular'] = titularComLetrasMaiusculas($contasCorrentes['123.256.789-12']);

Espero que tenha te ajudado Eduardo!