return służy do zwracania wartości z funkcji oraz zakończenia jej wykonywania. Jest to ważne rozróżnienie: funkcja z return nie musi nic wypisywać na ekranie, tylko przekazuje wynik do miejsca, w którym została wywołana.
Jak działa return?
Po napotkaniu instrukcji return PHP natychmiast kończy działanie funkcji i oddaje wskazaną wartość.
function fun1($liczba) {
if ($liczba % 2 == 0)
return 1;
return 0;
}
W tym przykładzie:
- $liczba % 2 oblicza resztę z dzielenia przez 2,
- jeśli reszta wynosi 0, liczba jest parzysta,
- funkcja zwraca wtedy 1,
- w przeciwnym razie zwraca 0.
return a wypisywanie
return nie jest tym samym co echo lub print.
echo fun1(8); // wypisze 1, bo echo wyświetla wartość zwróconą przez funkcję
Sama funkcja fun1(8) tylko zwraca wartość. Dopiero użycie echo, print albo przypisanie wyniku do zmiennej pozwala tę wartość wykorzystać.
$wynik = fun1(7); // $wynik ma wartość 0
Typowy błąd egzaminacyjny
Jeżeli w funkcji występuje return 1, nie oznacza to automatycznie „wypisz 1”. Poprawna interpretacja brzmi: zwróć wartość 1. W zadaniach egzaminacyjnych trzeba odróżniać funkcje zwracające wynik od instrukcji wyświetlających dane.