Oi, Cauan! Como vai?
Agradeço por compartilhar.
Achei interessante como você resolveu o problema de duas formas: usando for e também criando uma função com rsort e array_slice. Isso mostra uma boa evolução no pensamento lógico, principalmente ao comparar abordagens diferentes para o mesmo resultado. A função ficou bem direta e reutilizável.
Se quiser testar o método max em conjunto com remoção de elementos para encontrar maiores valores passo a passo.
$notas = [2, 5, 10, 3, 6, 8];
$top = [];
for ($i = 0; $i < 3; $i++) {
$maior = max($notas);
$top[] = $maior;
$index = array_search($maior, $notas);
unset($notas[$index]);
}
print_r($top);
Esse código encontra a maior nota, adiciona ao resultado e remove do array original, repetindo o processo para pegar as maiores.
Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!