Argumentos
de
funções
Informações
podem
ser
passadas
para
funções
através
da
lista
de
argumentos
,
que
é
uma
lista
de
variáveis
e
/
ou
constantes
delimitados
por
vírgulas
.
O
PHP
suporta
a
passagem
de
argumentos
por
valor
(
o
padrão
)
,
passagem
por
referência
e
valores
padrão
de
argumento
.
Listas
de
argumentos
de
comprimento
variável
são
suportadas
apenas
no
PHP4
e
posterior
;
veja
Número
de
argumentos
variável
e
as
referências
das
funções
func_num_args(
)
,
func_get_arg(
)
e
func_get_args(
)
para
mais
informações
.
Um
efeito
similar
pode
ser
atingido
no
PHP
3
pela
passagem
de
um
array
de
argumentos
para
uma
função
:
Fazendo
argumentos
serem
passados
por
referência
Por
padrão
,
argumentos
de
função
são
passados
por
valor
(
de
forma
que
se
você
mudar
o
valor
do
parâmetro
dentro
da
função
,
ele
não
é
alterado
fora
da
função
)
.
Se
você
deseja
permitir
que
uma
função
modifique
seus
argumentos
,
você
precisa
passá-los
por
referência
.
Se
você
quer
que
um
argumento
para
uma
função
sempre
seja
passado
por
referência
,
você
pode
preceder
o
nome
do
argumento
com
um
"
e
comercial
"
(
)
na
definição
da
função
:
Valores
padrão
de
argumentos
Uma
função
pode
definir
valores
padrão
no
estilo
C+
+
para
argumentos
escalares
,
como
a
seguir
:
A
saída
do
código
acima
será
:
Fazendo
uma
xícara
de
café
cappucino
.
Fazendo
uma
xícara
de
café
expresso
.
|
O
valor
padrão
precisa
ser
uma
expressão
constante
,
não
(
por
exemplo
)
uma
variável
ou
um
membro
de
classe
.
Note
que
usando
argumentos
padrão
,
qualquer
padrão
deve
vir
após
os
argumentos
sem
padrão
:
caso
contrário
,
as
coisas
não
funcionarão
como
esperado
.
Considere
o
seguinte
trecho
de
código
:
A
saída
do
exemplo
acima
é
:
Missing
argument
2
in
call
to
iogurtera(
)
in
/
usr
/
local
/
etc
/
httpd
/
htdocs
/
php3test
/
functest.html
on
line
41
Fazendo
uma
taça
de
framboesa
.
|
Agora
,
compare
o
que
está
acima
com
este
:
A
saída
deste
exemplo
é
:
Fazendo
uma
taça
de
framboesa
azeda
.
|
Número
variável
de
argumentos
O
PHP4
tem
suporte
para
um
número
variável
de
argumentos
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
a
lista
de
argumentos
ainda
pode
ser
fornecida
explicitamente
com
as
definições
de
funções
e
se
comportarão
normalmente
.