skanuj0087 (34)

skanuj0087 (34)



Rozdział 3. ♦ Instrukcje sterujące i funkcje

Czy istnieje zatem sposób, aby funkcja mogła wykonywać operacje na właściwej zmiennej, a nie na kopii? Oczywiście tak! Argument funkcji musi zostać przekazany przez referencję (ang. reference, inaczej odniesienie). Aby to osiągnąć, należy przed nazwą parametru dodać znak & (ang. ampersand). Ilustruje to skrypt widoczny na listingu 3.32. Jak można dostrzec na rysunku 3.18, tym razem zmienna liczba została poprawnie zwiększona o jeden.

Listing 3.32. Przekazywanie wartości przez referencją

<html>

<head>

<title>Przykladowa strona</title>

</head>

<body>

<?php

function dodajJedenf&Sliczba)

{

Sliczba = Sliczba + 1:

}

Sliczba = 1:

echoCPrzed wywołaniem funkcji liczba - Sliczba <br>“): dodajJeden(Sliczba):

echoCPo wywołaniu funkcji liczba - Sliczba <br>"):

?>

</body>

</html>

Pik Edycja Widok Przejiż Zakładki Narzędzia Pomoc

:,P ' Cj> ' £§?    0} ] L. iittpi//localhostfmdex.php

^ Rozpocznijprzygod... . J Aktualności


Rysunek 3.18.

Poprawne działanie funkcji dodajJeden

Przed wywołaniem funkcji liczba = 1 Po wywołaniu funkcji liczba — 2

Argumenty domyślne

Argumenty przekazywane funkcji mogą mieć wartości domyślne. W takiej sytuacji, jeżeli w wywołaniu funkcji nie zostaną podane wartości tych argumentów, zostaną przyjęte wartości zdefiniowane wcześniej. Schematycznie wygląda to następująco:

function nazwa_funkcji (.Sargmentl = wartość. $argument2 - wartość2.....

fargmentn = wartośćn)

{

/ / treść funkcji

)

Zobaczmy to na przykładzie. Napiszemy funkcję dodaj, która będzie przyjmowała dwa argumenty. Pierwszym argumentem będzie zmienna, której wartość ma zostać zwiększona. Ten argument będzie przekazywany przez referencję. Drugim argumentem będzie


Wyszukiwarka

Podobne podstrony:
skanuj0076 (34) Rozdział 3. ♦ Instrukcje sterujące i funkcje Rozdział 3. ♦ Instrukcje sterujące i fu
skanuj0079 (34) Rozdział 3. ♦ Instrukcje sterujące i funkcje 91FunkcjeBudowa funkcji Funkcje to wydz
skanuj0060 (57) Rozdział 3. ♦ Instrukcje sterujące i funkcje 73 można go przedstawić za pomocą instr

więcej podobnych podstron