Oi Francisco, tudo bem?
Não tenho acesso as aulas para saber o conteúdo dado nesse capítulo, mas vou te dar uma solução para esse problema usando a função map
. Eu criei uma função auxiliar assoc
para deixar o código mais organizado, porém, essa função só funciona com o PHP 8.1, por que utilizei o spread operator para descompactar um array onde as chaves são do tipo string... caso utilize uma versão anterior eu posso refatorar esse código pra você, caso se interesse.
$nota = [
3, 4, 9, 10
];
$aluno = [
'ana', 'luiz', 'carlos', 'jose'
];
$assoc = function ($chave, $posicao, $arrInical, $arrDeEntrada) {
return [...$arrInical, $chave => $arrDeEntrada[$posicao]];
};
$notas = array_map(
fn ($arr) => $assoc('aluno', 1, $assoc('nota', 0, [], $arr), $arr),
array_map(fn ($nota, $aluno) => [$nota, $aluno], $nota, $aluno)
);
var_dump($notas);
Existem diversas formas de resolver esse problema (com recursão, por exemplo), mas a idéia foi usar uma função nativa do PHP que manipula arrays: map
.
Qualquer dúvida, estou à disposição.