Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Duvidas

1) Não dá para imprimir o valor das chaves usando foreach ao invés de arrays_keys()? Algo assim:

foreach ($alunoFaltantes as $key => $value) {
    echo $key;
}

2) Em substituição ao array_keys eu não poderia usar array_search()?

3) Em substituição ao array_values() eu não poderia usar in_array()?

4) Quando você fez: var_dump(array_combine($notasAlunos, $notasBimestre1));

No meu console não deu erro, mas também não imprimiu nada. A minha dúvida é que o array $notasAlunos obtemos

as notas pelo array_values, porém em $notasBimestre1 não fizemos isso, mesmo que eles sejam do mesmo tamanho como ele entenderia quem deve ser tornar valor: as chaves do array $notasBimestre1 ou seus valores? Não sei se deu pra entender minha dúvida.

5)Se eu der um var_dump assim:

var_dump($notasAlunos);
var_dump($nomeAlunos);

eu tenho esse resultado:

array(2) {
  [0]=>
  int(9)
  [1]=>
  int(6)
}

array(2) {
  [0]=>
  string(5) "Maria"
  [1]=>
  string(8) "Vinicius"
}

foi montado um novo array com as notas e com os nomes, mas se observarmos esses novos arrays possuem chaves que foram criadas automáticas. Então caio na mesma dúvida do 4, como o array_combine entende quem tem que ser a chave do novo array e o valor do novo array: a chave automatica criada ou a coluna dos valores em si?

1 resposta
solução!
  1. Sim, esse seu exemplo é válido sim. :-)
  2. array_keys retorna todas as chaves do array. array_search busca por um elemento específico. São coisas totalmente diferentes
  3. Mesma coisa que o item 2. São propósitos totalmente diferentes.
  4. Se você não viu nenhum erro, provavelmente seu PHP está configurado para não exibir os erros. O array_combine usa os valores do primeiro array como chaves para os valores do segundo array, entende?
  5. Esses arrays agora são arrays numéricos, ou os famosos vetores. As chaves começam do 0 e vão incrementando. É como se fosse uma lista agora, onde as chaves não possuem mais um significado especial.