Funkcja
Z PHPEdia.pl
Fragment kodu PHP, który może być wielokrotnie używany w obrębie aplikacji poprzez wywołanie funkcji. Podstawową korzyścią płynącą z zastosowania funkcji jest możliwość uniknięcia pisania wielokrotnie tych samych fragmentów kodu. Przykładem takiego zastosowania funkcji może być sytuacja, w której strona WWW posiada menu, które wygląda identycznie na wszystkich podstronach. Umieszczenie kodu budującego menu w ramach funkcji umożliwia wywoływanie całego menu za pomocą jednego słowa - nazwy funkcji (z ewentualnymi parametrami), zamiast każdorazowego przepisywania całego kodu menu. Poza oszczędnością miejsca i czasu zyskujemy także mniejszą podatność na błędy. Pośrednią korzyścią jaką osiągamy jest fakt, że w razie konieczności zmodyfikowania naszego przykładowego menu, zmianę możemy wprowadzić tylko raz - w funkcji - a nie tyle razy, ile razy wyświetlamy menu.
Spis treści |
Przykład funkcji w PHP
// początek "deklaracji funkcji" function mojaFunkcja(){ echo 'Jestem funkcją!'; // ciało funkcji } // koniec "deklaracji funkcji" mojaFunkcja(); // wywołanie funkcji
Powyższy przykład wyświetli:
Jestem funkcją!
Argumenty funkcji
Przekazanie jednego argumentu
Funkcja może przyjmować argumenty. Argumenty mogą być danymi dowolnego typu, które są przekazywane funkcji podczas jej wywoływania.
function mojaFunkcja($imie){ echo 'Jestem funkcją, którą napisał '; echo $imie; } $argument = 'Kuba'; mojaFunkcja($argument); // wywołanie funkcji z argumentem w postaci zmiennej
Powyższy przykład wyświetli:
Jestem funkcją, którą napisał Kuba
Przekazanie wielu argumentów
Argumentów może być wiele, zależy to od deklaracji funkcji. Rozważmy poniższy przykład z trzema argumetami:
function mojaFunkcja($kto, $jakiego, $co){ echo $kto.' ma '.$jakiego.' '.$co; } mojaFunkcja('Każdy', 'jakiegoś', 'bzika'); // wywołanie funkcji z trzema argumentami
Powyższy przykład wyświetli:
Każdy ma jakiegoś bzika
Argument opcjonalny
Zdarza się, że nie przy każdym wywołaniu funkcji chcemy podawać wartość w argumencie.
function mojaFunkcja($imie, $zarobek=4000){ echo $imie.' zarabia '.$zarobek.'zł'; } mojaFunkcja('Mateusz'); // Wywołujemy
Powyższy kod wyświetli nam
Mateusz zarabia 4000zł
Zaś funkcja wywołana w taki sposób:
mojaFunkcja('Mateusz', 1750);
Wyświetli nam:
Mateusz zarabia 1750zł
Return
Słowo return umieszczone w obrębie funkcji przerywa jej działanie. Jeżeli po słowie umieścimy jakąś wartość, to funkcja wraz z zakończeniem działania zwróci tą wartość. Rozważmy poniższy przykład:
function mojaFunkcja(){ echo 'raz '; echo 'dwa '; return 'a kuku '; // zakończ działanie i zwróć String echo 'trzy'; } $zwrot = mojaFunkcja(); echo $zwrot;
Powyższy przykład wyświetli:
raz dwa a kuku
Jak widać, możliwe jest umieszczenie zwracanej przez funkcję wartości w zmiennej. Możliwe jest także bezpośrednie wyświetlenie zwracanej wartości:
function mojaFunkcja(){ return 'Dzień dobry!'; } mojaFunkcja(); // samo wywołanie funkcji nie wyświetli nic echo mojaFunkcja(); // tym razem wyświetlimy zwracaną przez funkcję wartość
Powyższy przykład wyświetli:
Dzień dobry!
