Jeden prosty przykład masz już wyżej. Spróbuj w nim zmienić "return" na "echo" i zobaczysz, że przestanie działać. Ogólnie przypomnij sobie funkcje matematyczne, np.
sin(), bo ogólna zasada jest podobna. Do funkcji podajesz jakieś argumenty, a one obliczają Ci wynik, z którym możesz coś później zrobić, np. użyć w jakimś wzorze. Zauważ, że wynik funkcji matematycznej zależy wyłącznie od podanych jej argumentów. Jest to bardzo ważna cecha - ogólnie takie funkcje (zwane "czystymi", jak kogoś to interesuje) są najlepsze i bardzo pożądane. Zatem zapiszmy sobie takiego sinusa:
Kod
$a + $b + sin($c)
Widzisz? Mogę wykonać to obliczenie, bo
sin() obliczoną wartość zwraca. Ale napiszemy sobie teraz inny wariant tej funkcji:
Kod
function sin_alt($x)
{
// tutaj obliczenia matematyczne
echo $wynikObliczen;
} // end sin_alt();
I nagle przestaje być wesoło:
Kod
$a + $b + sin_alt($c)
Takie wyrażenie już nam nie zadziała, bo Twoja funkcja zamiast zwrócić ten wynik, by mógł się nim zająć operator dodawania, wysłała go do przeglądarki. Twój
sin_alt() nie zwraca teraz żadnej wartości, więc powyższe wyrażenie przestaje być poprawne.
Kiedy co stosować? Pierwsze - prawie nigdy, drugie - prawie zawsze. W swoich aplikacjach
echo mam tylko w kodzie generującym wynikowy HTML i ten kod prawie w ogóle nie korzysta z funkcji. Cała reszta aplikacji zwraca wyniki przez
return.