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!
Olá Mauro!
Você está absolutamente certo na sua observação sobre o funcionamento da função array_diff em PHP. Essa função realmente compara os valores dos arrays passados como parâmetros e retorna um array contendo todos os valores do primeiro array que não estão presentes nos outros arrays fornecidos.
Portanto, quando você executa array_diff($notasPrimeiroBimestre, $notasSegundoBimestre), ele está retornando os valores que existem no $notasPrimeiroBimestre mas não existem no $notasSegundoBimestre, independentemente das chaves associadas a esses valores.
A título de informação, quando precisar compartilhar códigos aqui no fórum é interessante dar uma boa visibilidade para ele. Para isso, você pode seguir os passos que compartilho a seguir. Sem a formatação correta, o código acaba ficando escondido e de difícil visualização.
Selecione o trecho com o código no seu post;
Aqui no fórum, procure o ícone </>. É a sétima opção na aba superior do nosso editor de texto;
Clique no ícone comentado acima, certificando-se que está com todo o trecho de código selecionado.
Para confirmar se está tudo certo, você pode pré-visualizar seu post clicando no penúltimo ícone da esquerda para a direita, ou também usando o atalho F9.
No mais, se precisar de ajuda ou tiver alguma dúvida relacionada aos seus estudos, o fórum é o melhor lugar para te ajudar.
Bons estudos!