Como tornar opcional um dos parâmetros de uma função? Ex.: funcao(parametro1,[parametro2]);
Nenhuma descrição foi enviada.
comentários (0)
suspender
Lista de Respostas:
14/03/2003 2:50pm
(~22 anos atrás)
(~22 anos atrás)
Achei sua dúvida interessante e fui dar uma pesquisada. Encontrei isso aqui no Manual do PHP:
"Listas de argumentos de comprimento variável
O PHP4 tem suporte para listas de argumentos de comprimento variável nas funções definidas pelo usuário. Isto é realmente bem fácil, usando as funções func_num_args(), func_get_arg(), e func_get_args().
Nenhuma sintaxe especial é requerida, e as listas de argumentos ainda podem ser fornecidas explicitamente com as definições de funções e se comportarão normalmente."
Você pode declarar uma função assim:
function nome () {
...
}
E pegar os parametros com a função func_get_arg(N), onde N é o número do argumento (0 é o primeiro, 1, ...). O func_num_args() retorna o total de parametros enviados à função.
Só lembrando que essas funções foram inseridas no PHP 4, e obviamente devem ser utilizadas dentro de uma função! HEheheh! :).
Newton Wagner
Humor - www.OwShit.com.br
"Listas de argumentos de comprimento variável
O PHP4 tem suporte para listas de argumentos de comprimento variável nas funções definidas pelo usuário. Isto é realmente bem fácil, usando as funções func_num_args(), func_get_arg(), e func_get_args().
Nenhuma sintaxe especial é requerida, e as listas de argumentos ainda podem ser fornecidas explicitamente com as definições de funções e se comportarão normalmente."
Você pode declarar uma função assim:
function nome () {
...
}
E pegar os parametros com a função func_get_arg(N), onde N é o número do argumento (0 é o primeiro, 1, ...). O func_num_args() retorna o total de parametros enviados à função.
Só lembrando que essas funções foram inseridas no PHP 4, e obviamente devem ser utilizadas dentro de uma função! HEheheh! :).
Newton Wagner
Humor - www.OwShit.com.br
14/03/2003 4:13pm
(~22 anos atrás)
(~22 anos atrás)
Basta criar um valor padrão
function($argumento1, $argumento2='')
function($argumento1, $argumento2='')
14/03/2003 5:40pm
(~22 anos atrás)
(~22 anos atrás)
Continuando a resposta do Thiago...
Desta forma (valor padrão), você atribui um valor que, caso este parâmetro não tenha sido passado na chamada da função, será assumido para a variável.
Funciona assim: Sua função tem 5 variáveis ($A, $B, $C, $D, $E)
Crie a função assim:
function teste($A="valor para A", $B="valor para B", $C="valor para C", $D="valor para D", $E="valor para E"){...
Se um desses parâmetros não for passado, ele assumirá o que esta no cabeçalio da função).
Ficou claro???
Desta forma (valor padrão), você atribui um valor que, caso este parâmetro não tenha sido passado na chamada da função, será assumido para a variável.
Funciona assim: Sua função tem 5 variáveis ($A, $B, $C, $D, $E)
Crie a função assim:
function teste($A="valor para A", $B="valor para B", $C="valor para C", $D="valor para D", $E="valor para E"){...
Se um desses parâmetros não for passado, ele assumirá o que esta no cabeçalio da função).
Ficou claro???
22/08/2003 5:49pm
(~21 anos atrás)
(~21 anos atrás)
E como fazer se precisar saber o nome dos parâmetros passados (no caso dos parâmetros terem sido criados dinamicamente)?
13/09/2003 11:26pm
(~21 anos atrás)
(~21 anos atrás)
Olá Gustavo,
A sua função vai usar o parametro que recebeu e assumir o que não veio se for os últimos dados, exemplo:
<?php
frutas($x,"banana");
function frutas($a,$b,$c="mexerica")
{
if(!isset($a)){$a="laranja";}
print "$a, $b, $c";
}
?>
sai:
laranja, banana, mexerica
A sua função vai usar o parametro que recebeu e assumir o que não veio se for os últimos dados, exemplo:
<?php
frutas($x,"banana");
function frutas($a,$b,$c="mexerica")
{
if(!isset($a)){$a="laranja";}
print "$a, $b, $c";
}
?>
sai:
laranja, banana, mexerica