Funções com número variável de argumentos
Quando você não sabe quantos parâmetros uma função deverá receber, pode utilizar uma função com número indefinido de parâmetros (geralmente documentadas como function name ([param [, param [, …]]])).
Para isto o PHP4 (e posteriores) possui três funções específicas, que obtém o número e quantidade de parâmetros enviados a função, func_num_args(), func_get_arg() e func_get_args(). Estas funções devem utilizadas dentro de sua função. Veja o código a seguir:
/*diz olá a todos os nome enviados */ function sayHelloToAll () { $numArgs = func_num_args(); $argList = func_get_args (); for ($i = 0; $i < $numArgs; $i++) { echo "Hello {$argList[$i]}n"; } }
//imprime://'Hello Paulo' //'Hello Diovani' //'Hello SamuraiDio' sayHelloToAll ('Paulo', 'Diovani', 'SamuraiDio');
Você poderá usar um foreach() para navegar entre os parâmetros obtidos em $argList, mas não é recomendável, visto que gerará um erro caso não seja passado nenhum parâmetro a função (a menos que você inicialize a variável previamente).
Caso precise declarar uma função que receba ou não apenas dois ou três parâmetros, no máximo, seria preferível utilizar uma função com argumentos não obrigatórios (post anterior), pois será mais seguro, e você poderá prever melhor o resultado de seu sistema.
Se você gostou deste artigo, inscreva-se em meu RSS feed!



Últimos Comentários