1
resposta

Erro nas chaves que comecam com 0

Por qual motivo a chave (CPF por exemplo) comecar com numero 0(zero) dá erro.

$contaCorrente = [ 
    //cpf e conta (chave e valor)
    005848 => $conta1, 
    0405849 => $conta2, 
    0458410 => $conta3
];

Parse error: Invalid numeric literal

o codigo so roda se for numero inicial a partir de 1

$contaCorrente = [ 
    //cpf e conta (chave e valor)
    105848 => $conta1, 
    1405849 => $conta2, 
    1458410 => $conta3
];
1 resposta

Olá, Fabiana. Tudo bem?

Para resolver este problema, você deve colocar as chaves do array entre aspas simples ' ' da seguinte maneira:

$contaCorrente = [ 
    //cpf e conta (chave e valor)
    '005848' => $conta1, 
    '0405849' => $conta2, 
    '0458410' => $conta3
];

Essa chave diz respeito ao CPF de uma pessoa, por isso, colocamos entre aspas. Geralmente, quando não vamos realizar operações matemáticas com valores numéricos, nós usamos as variáveis do tipo string.

Apenas para você saber mais, esse erro que você citou acima, aconteceu porque no PHP, quando uma chave inteira de um array começa com 0, o 0 será removido e a chave será interpretada como um número octal (base 8) em vez de um número decimal (base 10):

$conta = [
    0123 => 'Fabiana'
];

Ao imprimir o dado do array acima, você verá que a chave é interpretada como um número octal e o 0 inicial é removido:

array(1) {
  [83]=>
  string(7) "Fabiana"
}

Se você quiser saber mais sobre isso, recomendo a leitura da documentação do PHP sobre:

Espero ter ajudado, bons estudos :)

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓