Zajmijmy się teraz możliwością wprowadzenia argumentów do funkcji, jak już wcześniej pisałem będziemy wprowadzać pomiędzy () przy definiowaniu funkcji (funkcja będzie wymagać tych parametrów) jak i przy wykonywaniu funkcji (do funkcji będą wysyłane te parametry z zewnątrz). Napiszemy prosta funkcję podnosząca dana liczbę do kwadratu, ale wyświetlenie jej raczej nie wchodzi w rachubę, bardziej by nam się przydała jako zmienna. Do takich właśnie celów powstało return, które zastosowane w funkcji zwraca nam wartość, i jednocześnie zatrzymuje wykonywanie funkcji (kiedy nastąpi wykonanie tej operacji wszystko po return zostaje nie wykonane). Jak już wiemy jak zwracać dane z funkcji to nadszedł czas aby omówić jak prowadzać do niej argumenty. Mianowicie podczas definicji wszystko wygląda tak samo z ta drobna różnica że pomiędzy () umieszczamy (tak jakbyśmy definiowali zmienne) zmienne oddzielone przecinkami (przecinki tylko wtedy kiedy potrzebna jest nam jeszcze jedna zmienna). W praktyce wygląda to tak (oczywiście dajemy to miedzy () ) $zmienna, $zmienna2, $zmienna3 a jak potrzebujmy tylko jednej to nie umieszczamy przecinka (przecinek tylko rozdziela nam funkcje znajdujące się obok siebie, jak jest jedna analogicznym jest to że go nie potrzeba). Dosyć dużo tutaj teorii, ale myślę że to odpowiednie miejsce na wspomnienie o jeszcze jednej przydatnej możliwości, mianowicie jeżeli definiujemy jakaś funkcję i wiemy że któregoś z argumentów można nie prowadzać możemy mu przypisać domyśla wartość (dzięki temu PHP nie pokażę nam błędu i zmienna będzie mieć wartość). Robi się to w następujący sposób $zmienna = 1 oczywiście można to stosować na dowolnej pozycji (czyli nie ważne czy to pierwszy argument czy 2), ta wartość jest przypisana dopiero wtedy kiedy uruchamiając funkcję ten argument zostanie pominiemy( mimo ze funkcja będzie wymagać 2 argumentów my wpiszemy tylko 1, wtedy 2 argumentowi zostanie przypisana wartość domyśla – wcześniej zdefiniowana przy funkcji). Może to już troszkę dużo, ale jakbyś nie zrozumiał tego to proszę przeczytaj jeszcze raz i spróbuj napisać jakieś funkcje z wykorzystaniem tego samemu (po testuj). Wracam do naszego przykładu z podniesieniem do kwadratu:

<?php
// Definiujemy funkcję kwadrat
function kwadrat( $liczba = 0 )            // Funkcja wymaga jednego argumentu
 
// jeżeli nie zostanie on podany to funkcja przyznaje zmiennej wartość 0
{                                                         // Otwieramy ciało funkcji
               $kwadrat = $liczba*$liczba;       // podnosimy liczbę do kwadratu
               return $kwadrat;                      // Zwracamy wynik funkcji }                                                          // Zamykamy ciało funkcji
 
// Przykład uzycia
 
$liczba = 2;
$wynik = kwadrat( $liczba );               // ponieważ funkcja zwraca wartość to
                                                     // to przypisujemy ją zmiennej $wynik
echo $wynik;                                   // Rezultatem powinna być 4
 
 
// Przykład nie podania argumentu
echo kwadrat();                               // Wynikiem będzie 0 ponieważ
                                                     // nie podaliśmy argumentu więc został
                                                     // użyty domyślny czyli 0 a zero do
                                                     // kwadratu to 0
?>