PHP - funkcje
Funkcje użytkownika Funkcja może być zdefiniowana używając składni takiej jak poniższa:
<?php Dowolny poprawny kod PHP może się pojawić wewnątrz funkcji, także definicje innych funkcji i klas. PHP nie obsługuje przeciążania funkcji. PHP obsługuje funkcje o zmiennej liczbie argumentów oraz domyślne argumenty funkcji. Jest to możliwe dzięki funkcjom func_num_args(), func_get_arg() i func_get_args().
Argumenty funkcji Dane 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ę oraz wartości domyślne argumentów. 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 ampersand (&), np.:
<?php Wartości domyślne argumentów Funkcja może definiować wartości domyślne dla argumentów skalarnych, np.:
<?php Domyślna wartość musi być stałym wyrażeniem, a nie np. zmienną lub elementem klasy. Używając domyślnych argumentów, argumenty zawierające wartości domyślne powinny być na końcu listy argumentów. W przeciwnym przypadku funkcja może nie działać tak, jak się tego spodziewałeś, np.:
<?php Powyższa funkcja wyświetli: Warning: Missing argument 2 in call to robjogurt() in /.../functest.html on line NN Robię miskę malinowy. Porównaj powyższy przykład z tym:
<?php Powyższy kod wyświetla: Robię miskę acidophilus malinowy. Listy argumentów o zmiennej długości PHP obsługuje listy o zmiennej długości w funkcjach zdefiniowanych przez użytkownika. Jest to 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.
Zwracane wartości Wartości są zwracane przy użyciu opcjonalnej instrukcji return. Może być zwracany dowonlny typ, włączając w to tablice i obiekty. Spowoduje to natychmiastowe zakończenie działania funkcji i przekazanie kontroli do linii, z której była wywołana.
<?php Funkcja nie może zwracać wielu wartości, ale podobny efekt można uzyskać przez zwracanie tablicy, np.:
<?php
|