Argumenty
funkcji
Informacje
mogą
być
przekazywane
do
funkcji
przez
listę
argumentów
,
która
jest
separowaną
przecinkami
listą
zmiennych
i
/
lub
stałych
.
PHP
obsługuje
przekazywanie
argumentów
przez
wartość
(
domyślnie
)
,
przez
referencję
,
i
wartości
domyślne
argumentów
.
Listy
argumentów
o
zmiennej
długości
są
obsługiwane
tylko
w
PHP
4
i
nowszych
;
zobacz
rozdział
Listy
argumentów
o
zmiennej
długości
i
opisy
funkcji
func_num_args(
)
,
func_get_arg(
)
,
i
func_get_args(
)
aby
uzyskać
więcej
informacji
.
Podobny
efekt
może
być
uzyskany
w
PHP
3
przez
przekazywanie
tablicy
argumentów
do
funkcji
:
Przekazywanie
argumentów
przez
referencję
Domyślnie
,
argumenty
funkcji
są
przekazywane
przez
wartość
(
a
więc
jeśli
zmienisz
wartość
argumentu
wewnątrz
funkcji
,
nie
zmieni
się
ona
poza
funkcją
)
.
Jeśli
chcesz
pozwolić
funkcji
na
modyfikację
swoich
argumentów
,
musisz
przekazać
je
przez
referencję
.
Jeśli
chcesz
,
aby
argumenty
były
zawsze
przekazywane
przez
referencję
,
przed
nazwą
zmiennej
w
definicji
funkcji
wstaw
znak
ampersand
(
)
:
Wartości
domyślne
argumentów
Funkcja
może
definiować
,
podobnie
jest
w
C++
,
wartości
domyślne
dla
argumentów
skalarnych
:
Powyższy
kawałek
kody
wyświetli
:
Robię
kubek
cappucino
.
Robię
kubek
espresso
.
|
Domyślna
wartość
musi
być
stałym
wyrażeniem
,
nie
(
na
przykład
)
zmienną
lub
członkiem
klasy
.
Zauważ
,
że
używając
domyślnych
argumentów
,
argumenty
zawierające
wartości
domyślne
powinny
być
po
prawej
stronie
tych
nie
zawierających
wartości
domyślnych
;
w
przeciwnym
przypadku
funkcja
może
nie
działać
tak
jak
się
tego
spodziewałeś
.
Zobacz
to
na
poniższym
przykładzie
:
Powyższa
funkcja
wyświetla
:
Missing
argument
2
in
call
to
robjogurt(
)
in
/
usr
/
local
/
etc
/
httpd
/
htdocs
/
php3test
/
functest.html
on
line
41
Robię
miskę
malinowy
.
|
Porównaj
powyższy
przykład
z
tym
:
Powyższy
kod
wyświetla
:
Robię
miskę
acidophilus
malinowy
.
|
Listy
argumentów
o
zmiennej
długości
PHP
4
obsługuje
listy
o
zmiennej
długości
w
funkcjach
zdefiniowanych
przez
użytkownika
.
Jest
naprawdę
prostę
przy
użyciu
funkcji
func_num_args(
)
,
func_get_arg(
)
i
func_get_args(
)
.
Nie
wymagana
jest
żadna
specjalna
składnia
.
Listy
argumentów
mogą
być
ciągle
jawnie
podane
przy
definicji
funkcji
i
będą
się
zachowywać
normalnie
.