array_intersect una cantidad variable de arreglos

Estoy creando una búsqueda facetada, y estoy tratando de usararray_intersect para comparar los arrays y encontrar las entradas que coincidan.

El problema es que tendré una cantidad variable de arreglos en cualquier momento, dependiendo de los filtros que el usuario haya seleccionado:

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

¿Cómo creo unarray_intersect ¿Función que es dinámica en este sentido?

Esto es lo que he intentado:

$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 -------------

Intentaré reducir mi objetivo un poco más:

Si el usuario hace clic en tres filtros, esto genera tres matrices que se crean con resultados individuales:

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

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

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

Necesito un código que encuentre el número que está en TODAS las matrices. Y si no hay un número común, entonces terminaría como falso o algo así. En el caso anterior, necesitaría recuperar 6. Si solo fueran las dos primeras matrices, devolvería 4 y 6.

Respuestas a la pregunta(3)

Su respuesta a la pregunta