Caso no exemplo usado no vídeo, seja uma lista com 100 alunos e eu queira saber desses 100 alunos quais são os que tiraram nota 10? Como posso fazer para retornar todos os nomes de alunos que cumpram essa exigência?
Caso no exemplo usado no vídeo, seja uma lista com 100 alunos e eu queira saber desses 100 alunos quais são os que tiraram nota 10? Como posso fazer para retornar todos os nomes de alunos que cumpram essa exigência?
Oi Paulo, beleza?
Você quer filtrar os alunos com nota 10 dentro de um array e depois pegar o nome desses alunos, correto? Para filtrar elementos dentro de um array você tem a função array_filter
e para transformar os valores de um array você tem o array_map
.
Vou dar um exemplo de como realizar essa operação com 4 alunos, que pode servir para 100 ou mais também, basta incluir mais valores:
$alunos = [
['nome' => 'Carlos', 'nota' => 7,4],
['nome' => 'Ana', 'nota' => 10],
['nome' => 'Rodrigo', 'nota' => 10],
['nome' => 'Rebeca', 'nota' => 6.8]
];
$alunosComNota10 = array_map(fn($aluno) => $aluno['nome'],
array_filter($alunos, fn($aluno) => $aluno['nota'] === 10)
);
A parte da filtragem acontece nessa linha array_filter($alunos, fn($aluno) => $aluno['nota'] === 10)
que irá retornar um novo array com os alunos com nota 10. A parte que pega o nome desses alunos acontece nessa linha array_map(fn($aluno) => $aluno['nome'], ...
Bons estudos.