Realmente no, no queda muy claro lo que quieres aunque pareciera que no estás definiendo realmente la función de la forma necesaria para aceptar parámetros sin necesidad de usar func_get_args.
Me explico, el código colocas define la función de esta forma:
Código PHP:
funcion algo () {
// código
}
func_get_args para tal definición es la única forma de sacar los parámetros pasados, sin embargo, lo que yo mencioné en mi respuesta anterior es asumiendo que habías definido la función de esta forma:
Código PHP:
funcion algo ($parametros) {
// código
}
Al declarar la función, según el ejemplo anterior, se estaría indicando que la función espera recibir 1 parámetro, en este caso, bien podría ser un array o una cadena o entero, etc..
Una forma en que se usaría tal estructura sería:
Código PHP:
function algo($param) {
foreach ($param as $valor) {
echo $valor;
}
}
$var = array('uno','dos','tres');
algo($var);
Podría evitar el array y pasar los parámetros por separado:
Código PHP:
function algo($param1, $param2, $param3) {
echo $param1;
echo $param2;
echo $param3;
}
algo('uno','dos','tres');
En ninguno de esos dos últimos ejemplos fue necesario usar func_get_args y además, claramente contesta la pregunta inicial que es cómo pasar un array a la función.
Me parece (corrígeme si no es así) que en tu caso probaste enviar el array pero sin definir en la función que debera recibir parámetros, algo como esto:
Código PHP:
function algo() {
$args = func_get_args();
....
}
$vars = array('uno','dos','tres');
algo($vars);
En dicho caso, es innecesario pasar un array como parámetro ya que func_get_args creará de por si un array los parámetros que se le pasen a la función.