A resposta correta justifica que "Este array começa com a chave 0 (já que nenhuma chave é informada) e mantém a ordem crescente em suas chaves. :-D", o que achei confuso pois uma chave é sim informada, a segunda (1).
A resposta correta justifica que "Este array começa com a chave 0 (já que nenhuma chave é informada) e mantém a ordem crescente em suas chaves. :-D", o que achei confuso pois uma chave é sim informada, a segunda (1).
Olá, Giulia. Tudo bem?
Sobre a justificativa da alternativa correta:
Este array começa com a chave 0 (já que nenhuma chave é informada) e mantém a ordem crescente em suas chaves. :-D
É um pouco confuso sim, Giulia, porém vamos lá tentar entender.
"Este array começa com a chave 0 (já que nenhuma chave é informada)"
Por padrão, todo o valor de um Array possui uma chave correspondente, mesmo se a gente não especificar. Por exemplo, vamos utilizar o exemplo a seguir:
$array = ['Giulia', 'de Oliveira', 'Moscoso'];
var_dump($array);
Ao executar nosso código, obteremos o seguinte resultado:
array(3) {
[0]=>
string(6) "Giulia"
[1]=>
string(11) "de Oliveira"
[2]=>
string(7) "Moscoso"
}
Repare que mesmo a gente não informando a chave, por padrão, o PHP insere chaves númericas de forma crescente.
Agora vamos usar um exemplo parecido do exercício:
$array = ['Giulia', 1 => 'de Oliveira', 'Moscoso'];
var_dump($array);
Ao executar nosso código, obteremos o seguinte resultado:
array(3) {
[0]=>
string(6) "Giulia"
[1]=>
string(11) "de Oliveira"
[2]=>
string(7) "Moscoso"
}
Veja que o PHP completou as chaves que nós não definimos. Para esse caso, as chaves ficaram na sequência crescente correta: 0,1,2. Pois, nós definimos explicitamente que na posição 1 do array teremos:
Chave: 1
Valor: 'de Oliveira'
Dessa forma: 1 => 'de Oliveira'
Mas e se a gente definisse de Oliveira
com uma chave de outro valor? Vamos definir que o valor 'de Oliveira'
terá a chave 7:
$array = ['Giulia', 7 => 'de Oliveira', 'Moscoso'];
var_dump($array);
Ao executar nosso código, obteremos o seguinte resultado:
array(3) {
[0]=>
string(6) "Giulia"
[7]=>
string(11) "de Oliveira"
[8]=>
string(7) "Moscoso"
}
Veja que mesmo a gente definindo a chave como 7, o próximo valor do Array o PHP seguirá na ordem crescente se a chave não for especificada por nós.
Além de tudo, gostaria de te recomendar a dar uma olhada na documentação do PHP sobre Arrays, nela você irá se deparar com alguns exemplos do uso e manipulações de Arrays.
Espero ter ajudado, Giulia. Se tiver mais alguma dúvida estou a disposição e bons estudos =)
Grande abraço!
Então, Vinicius, isso eu entendi, só não concordei com a afirmação já que nenhuma chave é informada
porque uma chave é informada (a segunda/do meio). Mas obrigada pela explicação!
Olá, Giulia. Tudo bem?
Entendi seu ponto de dúvida. Concordo com você, da forma como estava, realmente pode gerar essa confusão.
Nossa equipe já realizou a correção na justificativa dessa resposta, evidenciando que se tratava de nenhuma chave para o primeiro elemento.
Agradeço pelo seu feedback.
Abraços e bons estudos!