0

Como tornar opcional um dos parâmetros de uma função? Ex.: funcao(parametro1,[parametro2]);

criado por Adhemar Zerlotini Neto em 14/03/2003 7:34am
Nenhuma descrição foi enviada.

Lista de Respostas:

0
14/03/2003 2:50pm
(~21 anos atrás)
Newton Wagner respondeu:
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

0
14/03/2003 4:13pm
(~21 anos atrás)
Basta criar um valor padrão

function($argumento1, $argumento2='')

0
14/03/2003 5:40pm
(~21 anos atrás)
Jayr H. C. Porto respondeu:
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???

0
22/08/2003 5:49pm
(~21 anos atrás)
Gustavo Villa respondeu:
E como fazer se precisar saber o nome dos parâmetros passados (no caso dos parâmetros terem sido criados dinamicamente)?

0
13/09/2003 11:26pm
(~21 anos atrás)
Roberto Francisco respondeu:
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

Nova Resposta:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)