94 PHP i MySQL dla każdego
<?php
function razyOwa($x)
{
return $x * 2:
>
Jwynik - razyDwa(5); echo("5 * 2 = $wynik"):
</body>
</html>
Funkcja przyjmuje, podobnie jak we wcześniejszym przykładzie, jeden argument — x. W jej wnętrzu znajduje się tylko jedna instrukcja return $x * 2;. Oznacza ona: oblicz wartość wyrażenia $x * 2 (czyli pomnóż wartość przechowywaną w zmiennej x przez dwa) i zwróć wynik do miejsca wywołania funkcji. Innymi słowy $x * 2 staje się wynikiem działania funkcji. W skrypcie poza funkcją występuje instrukcja Swynik = razyDwa(5):. Wywołuje ona funkcję razyDwa z parametrem 5, a wynik działania tej funkcji przypisuje zmiennej wynik. Tym samym zmienna ta otrzyma wartość 10 (5 *2 = 10). Wartość zmiennej wyni k jest ostatecznie wyświetlana za pomocą instrukcji echo.
Instrukcji return można również użyć bez żadnego parametru. Powoduje ona wtedy jedynie przerwanie działania funkcji. Ilustruje to przykład widoczny na listingu 3.26. Druga instrukcja echo, znajdująca się za instrukcją return, nie zostanie wykonana.
Listing 3.26. Ilustracja działania pustej instrukcji return_
<html>
<tiead>
<tit1e>Przykładowa strona</title>
</head>
<body>
<?php
function funkcjaO
echo("Pierwsza instrukcja echo."): return:
echo("Druga instrukcja echo.");
funkcja!):
</body>
</html>
Korzystając z funkcji, musimy zwrócić uwagę na kwestię zasięgu zmiennych. Zasięg danej zmiennej to inaczej miejsca w skrypcie, w których jest ona ważna. Zmienne w PHP mogą być lokalne, globalne i superglobalne. Zmienne, które stosowaliśmy dotychczas, to zmienne globalne. Są one dostępne w całym skrypcie z wyjątkiem wnętrz funkcji. Przeanalizujmy to na przykładzie widocznym na listingu 3.27.