Algumas funções em PHP possuem um número indefinido de parâmetros. Por exemplo: printf, onde o primeiro parâmetro é o "formato" e os demais são definidos de acordo com o valor do formato.
Para fazer uma função com número indefinido de parâmetros, basta usar algumas funções especiais do PHP:
- func_num_args - Retorna o número de parâmetros informados para a função.
- func_get_arg - Retorna um parâmetro determinado (pela posição).
- func_get_args - Retorna os valores passados por parâmetro na forma de um array indexado numericamente.
Veja um exemplo de função que obtém a média aritmética de uma sequência de números:
function media() { $parametros = func_get_args(); if (emtpy($parametros)) { $media = 0; } else { $soma = array_sum($parametros); $total = count($parametros); $media = $soma / $total; } return $media; }
Observação: nada impede de você criar uma função com parâmetros pré-definidos e usar as funções mencionadas para obter possíveis parâmetros extras informados pela função.
1 comentário
Legal, não tinha ainda visto isso de uma forma simples. Obrigado.
Postar um comentário
Nota: fique a vontade para expressar o que achou deste artigo ou do blog.
Dica: para acompanhar as respostas, acesse com uma conta do Google e marque a opção "Notifique-me".
Atenção: o blogger não permite inclusão de tags nos comentários, por isso, use algum site externo para postar seu código com dúvidas e deixe o link aqui. Exemplo: pastebin.com