josedasilva @ 10:17

Ter, 10/01/06

O PHP permite não só definir uma função com parâmetros de número limitado, e obrigatório, como por outro lado permite o uso de funções com número de parâmetros variável.

Vejamos a seguinte função:

function Dados($nome,$email,$telefone)
{
/* Operações da função, tratamento de dados */
}


Numa função deste tipo, usada no dia a dia, tomamos a fonte como uma função de 3 parâmetros, esta ideia é errada, a função deve ser lida como, uma função de 3 parâmetros obrigatórios.

Senão vejamos o seguinte uso da função:

Dados("Nome","Email@Email.com","Telefone");
ou
Dados("Nome","Email@Email.com","Telefone","Avenida dos calhaus","Lisboa","Portugal");

Ambos os usos da função estão correctos, no entanto para os mais distraídos isto levanta um problema, como usar os parâmetros adicionais, que não foram definidos como parâmetros da função?

O PHP tem na sua lista de funções três funções muito uteis para o efeito:

int func_num_args ( void ) » devolve o número de parâmetros passados na invocação da função
array func_get_args ( void ) » devolve um array com os elementos passados na invocação da função
mixed func_get_arg ( int arg_num ) » devolve o parâmetro da posição arg_num

Vejamos então uma possível definição da nossa função exemplo:

function Dados($nome,$email,$telefone)
{
echo "Nome: ".$nome;
echo "Email: ".$email;
echo "Telefone: ".$telefone;
if(func_num_args()>3)
for($i=0;$i
[Error: Irreparable invalid markup ('<func_num_args [...] ".func_get_arg($i);>') in entry. Owner must fix manually. Raw contents below.]

O PHP permite não só definir uma função com parâmetros de número limitado, e obrigatório, como por outro lado permite o uso de<strong> funções com número de parâmetros variável</strong>.

Vejamos a seguinte função:

<code>function Dados($nome,$email,$telefone)
{
/* Operações da função, tratamento de dados */
}</code>

Numa função deste tipo, usada no dia a dia, tomamos a fonte como uma função de 3 parâmetros, esta ideia é errada, a função deve ser lida como, uma função de 3 parâmetros obrigatórios.

Senão vejamos o seguinte uso da função:

Dados("Nome","Email@Email.com","Telefone");
ou
Dados("Nome","Email@Email.com","Telefone","Avenida dos calhaus","Lisboa","Portugal");

Ambos os usos da função estão correctos, no entanto para os mais distraídos isto levanta um problema, como usar os parâmetros adicionais, que não foram definidos como parâmetros da função?

O PHP tem na sua lista de funções três funções muito uteis para o efeito:

int func_num_args ( void ) » devolve o número de parâmetros passados na invocação da função
array func_get_args ( void ) » devolve um array com os elementos passados na invocação da função
mixed func_get_arg ( int arg_num ) » devolve o parâmetro da posição arg_num

Vejamos então uma possível definição da nossa função exemplo:

<code>function Dados($nome,$email,$telefone)
{
echo "Nome: ".$nome;
echo "Email: ".$email;
echo "Telefone: ".$telefone;
if(func_num_args()>3)
for($i=0;$i<func_num_args (),$i++)
echo "Elemento[".$i."]: ".func_get_arg($i);
}</code>

Este foi um exemplo muito simples, no entanto este tipo de funções de número variável de parametros pode ter extrema utilidade.</func_num_args></code>

Tags:

Neto @ 17:37

Qua, 11/11/09

 

Muito bom seu artigo rapaz, isso dá uma liberdade ao desenvolvedor para criar funções mais robustas.

Allef @ 13:50

Qui, 26/08/10

 

valeu pela ajuda, vai me ajudar muito daqui em diante...
usei este documento para criar um trabalho escolar mas achei muito bom.
Parabéns

Blog pessoal de José Silva. Sou programador informático, nos últimos anos dedicado quase exclusivamente ao PHP.
Janeiro 2006
Dom
Seg
Ter
Qua
Qui
Sex
Sab

1
2
3
4
5
6
7

8
9
11
12
14

15
16
17
18
19
20
21

22
24
25
26
27
28

29


Pesquisar
 
blogs SAPO