1
resposta

Spread operator com função

Consegui fazer uma função usando o spread operator passsando apenas inteiros, porém, não consegui fazer uma função utilizando arrays, ou seja, passando arrays como argumentos da função e juntando todos estes arrays em um novo array.

Segue minha implementação:

<?php
// Spread operator
 
$alunos2021 = [
    'João',
    'Maria',
    'Vinícius',
    'Roberto',
    'Ana',
];
 
$novosAlunos = [
    'Patricia',
    'Nico',
    'Kilderson',
    'Daiane',
];
 
function funcao(int ...$alunos) {
    var_dump($alunos);
}
 
funcao(1, 2, 3, 45);
 
 
function funcaoArrays($alunos2021, $novosAlunos, ...$final) {
    var_dump($final);
}
 
funcaoArrays($alunos2021, $novosAlunos);

?>
1 resposta

Oii, Willian. Você está passando o array $alunos2021 e $novosAlunos para a função, mas não está usando. Dá uma olhada nesse exemplo e veja se é o que você busca :)

<?php
// Spread operator

$alunos2021 = [
    'João',
    'Maria',
    'Vinícius',
    'Roberto',
    'Ana',
];

$novosAlunos = [
    'Patricia',
    'Nico',
    'Kilderson',
    'Daiane',
];


function funcaoArrays($alunos2021, $novosAlunos) {
    $final =  [...$alunos2021, ...$novosAlunos];
    var_dump($final);
}

funcaoArrays($alunos2021, $novosAlunos);

Bons estudos!