100 PHP i MySQL dla każdego
wartość, o którą ma zostać zwiększony pierwszy argument. Chcemy jednocześnie, .aby w przypadku gdy drugi argument zostanie pominięty w wywołaniu, funkcja działała tak, jakby drugim argumentem była wartość 1. Kod działający w taki sposób został przedstawiony na listingu 3.33.
Listing 3.33. Ilustracja przekazywania argumentów z wartościami domyślnymi
<html>
<head>
<title>Przykładowa strona</title>
</head>
<body>
<?php
function dodajJedenC&Sliczba, Sile = 1)
{
Sliczba = Sliczba + Sile:
}
Sliczba = 1:
echoCPrzed wywołaniem funkcji liczba = Sliczba <br>”): dodajJedenCSliczba. 5): echoCPo 1. wywołaniu liczba = Sliczba <br>"): dodajJeden(Sliczba);
echoCPo 2. wywołaniu liczba = Sliczba <br>");
?>
</body>
</html>
W tym przykładzie funkcja dodaj będzie działała w następujący sposób: jeśli zostaną jej przekazane dwa argumenty, doda do argumentu pierwszego wartość argumentu drugiego; jeśli natomiast przekazany zostanie tylko pierwszy argument — przyjmie, że wartością argumentu drugiego jest 1. Można się o tym przekonać po uruchomieniu skryptu (rysunek 3.19). Zmienna liczba na początku otrzymuje wartość 1. Następnie wykonana zostanie instrukcja dodajJedenCSliczba. 5), a tym samym wartość zmiennej liczba zwiększy się o 5. Kolejne wywołanie funkcji dodajJeden (dodajJedenCSliczba):) powoduje z kolei zwiększenie wartości zmiennej 1 i czba o 1.
Efekt działania skryptu z listingu 3.33
Rysunek 3.19.
Edycia ®dok Prceiiż JaWadkl bjarzgdzia Pornos
-s ? ©r http://ioca!host/index.php
^ Rozpocznij przygód... Aktualności
Przed wywołaniem funkcji liczba = 1 Po 1 wywołaniu liczba = 6 Po 2 wywołaniu liczba = 7
PHP umożliwia wywołanie funkcji z większą liczbą argumentów, niż ta funkcja została zadeklarowana. Innymi słowy lista argumentów może być zmienna. Niezbędne są zatem