array_intersect uma quantidade variável de matrizes

Estou criando uma pesquisa facetada e estou tentando usararray_intersect para comparar as matrizes e encontrar as entradas correspondentes.

O problema é que eu terei uma quantidade variável de matrizes a qualquer momento, dependendo de quais filtros o usuário selecionou:

$array_1, $array_2, $array_3 etc ...

Como faço para criar umarray_intersect função que é dinâmica nesse sentido?

Isso é o que eu tentei:

$next_array = 0;
for($i = 0; $i < $array_count; $i++) {
    $next_array++;
    if ($i == 0) {
        $full_array = ${array_.$i};
    } else {
        if(!empty(${cvp_array.$next_array})) {
            $full_array = array_intersect($full_array, ${cvp_array_.$next_array});
        }
    }
}

------------- EDITAR -------------

Vou tentar diminuir meu objetivo um pouco mais:

Se o usuário clicar em três filtros, isso resultará em três matrizes sendo criadas, cada uma com resultados individuais:

Array_1 ( [0] => 2, [1] => 4, [2] => 6 )

Array_2 ( [0] => 1, [1] => 4, [2] => 6 )

Array_3 ( [0] => 6, [1] => 7, [2] => 8 )

Eu preciso de código que irá encontrar o número que está em todos os arrays. E se não houver um número comum, ele terminará em falso ou algo assim. No caso acima, eu precisaria recuperar 6. Se fossem apenas os dois primeiros arrays, ele retornaria 4 e 6.