Aprenda a criar funções variádicas no PHP

Veja como criar funções variádicas no PHP para aceitar um número indefinido de argumentos de forma prática.

Como criar funções variádicas no PHP

Funções variádicas são aquelas que aceitam um número indefinido de argumentos. No PHP, podemos criar funções que recebem múltiplos valores sem precisar definir um número fixo de parâmetros.

Usando func_get_args() (Método antigo)

Antes do PHP 5.6, a forma de capturar argumentos variáveis era com func_get_args():

<?php
function somar() {
    $numeros = func_get_args();
    return array_sum($numeros);
}

echo somar(5, 10, 15); // Saída: 30
?>

Aqui, func_get_args() retorna um array com todos os argumentos passados.

Usando ... (Spread Operator) - PHP 5.6+

A partir do PHP 5.6, podemos usar ... para capturar múltiplos argumentos:

<?php
function somar(...$numeros) {
    return array_sum($numeros);
}

echo somar(5, 10, 15); // Saída: 30
?>

Este método é mais moderno e seguro, pois os argumentos são convertidos automaticamente em um array.

Misturando parâmetros fixos e variádicos

Podemos combinar parâmetros normais com ...:

<?php
function apresentar($nome, ...$hobbies) {
    echo "Nome: $nome <br>";
    echo "Hobbies: " . implode(", ", $hobbies);
}

apresentar("Carlos", "Futebol", "Música", "Leitura");
?>

Aqui, o primeiro parâmetro é obrigatório, enquanto os demais são capturados no array $hobbies.

Funções variádicas com tipos de argumento (PHP 7+)

Desde o PHP 7, podemos tipar os argumentos variáveis:

<?php
function multiplicar(int ...$valores): int {
    return array_product($valores);
}

echo multiplicar(2, 3, 4); // Saída: 24
?>

Isso garante que todos os argumentos sejam inteiros, evitando erros inesperados.

Funções variádicas tornam o código mais flexível e reutilizável, pois permitem aceitar qualquer número de argumentos sem precisar definir cada um separadamente. O uso do operador ... simplifica bastante a manipulação de múltiplos valores e melhora a legibilidade do código. Essa funcionalidade é amplamente utilizada para somas, concatenação de strings e funções que trabalham com listas de valores dinâmicos.

Algumas aplicações:

  • Somar múltiplos valores sem precisar definir parâmetros fixos
  • Concatenar strings dinamicamente
  • Gerar listas dinâmicas de argumentos para funções
  • Manipulação de múltiplos dados de entrada em APIs

Dicas para quem está começando

  • Use ... para coletar múltiplos argumentos como array.
  • Combine parâmetros normais e variádicos para maior controle.
  • Evite func_get_args(), pois o operador ... é mais seguro.
  • Se precisar garantir o tipo dos argumentos, use int ...$valores.
  • Prefira funções variádicas em cenários onde o número de argumentos pode variar.
Foto de Daniel Moreira
Contribuições de
Daniel Moreira

Especialista em desenvolvimento web com PHP e construção de APIs REST.

Mais sobre o autor
Compartilhe este tutorial: Como criar funções variádicas no PHP?

Compartilhe este tutorial

Continue aprendendo:

Como passar argumentos por referência no PHP?

Veja como passar argumentos por referência no PHP e modificar variáveis diretamente dentro de funções.

Tutorial anterior

Como dividir uma string em PHP?

Veja como dividir uma string em PHP utilizando funções como explode(), str_split() e preg_split() para diversas situações.

Próximo tutorial