Eu fiz alguma coisa errada?
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!
Eu fiz alguma coisa errada?
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!