Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Correção na resposta

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).

3 respostas

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!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

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!

soluçã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!