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

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!