Files
serwerowe_mendela/Lekcja_03/referencje.md
T

30 lines
1.0 KiB
Markdown

# Referencje
Domyślnym zachowaniem funkcji jest skopiowanie wartości argumentu do nowej zmiennej uzywanej w funkcji.
```php
$zmienna = "wartosc1";
function test($argument) { // argument przekazany funkcji
$argument = "wartosc2"; // zmieniamy wartość argumentu w funkcji
echo $argument; // wypisze się "wartosc2"
}
test($zmienna);
echo $zmienna; // ALE! Jako że zmieniliśmy argument w funkcji, mimo że pochodzi on od zmiennej $zmienna, oryginalna zmienna pozostaje taka sama. Wypisane zostanie "wartosc1"
```
Możemy jednak zamiast tego przekazać do funkcji jedynie WSKAZANIE, gdzie znajduje się oryginalna zmienna. Wtedy wartość nie jest kopiowana i pracujemy na oryginale.
```php
$zmienna = "wartosc1";
function test(&$argument) { // odniesienie do argumentu przekazane funkcji
$argument = "wartosc2"; // zmieniamy wartość argumentu, a co za tym idzie wartość oryginalnej zmiennej
echo $argument; // wypisze się "wartosc2"
}
test($zmienna);
echo $zmienna; // tutaj też "wartosc2"
```