Przekazywanie argumentów przez wartość i referencję
Założenie: Zrozumieć różnicę między przekazywaniem argumentów do funkcji przez wartość a przez referencję w PHP.
Krok po kroku:
- Przekazywanie przez wartość:
function modyfikujWartosc($x) { $x = $x * 2; } $a = 10; modyfikujWartosc($a); echo $a; // Wyświetli 10, bo zmienna $a w funkcji jest kopią.
W tym przykładzie, funkcja `modyfikujWartosc` otrzymuje kopię wartości zmiennej `$a`. Zmiana wartości wewnątrz funkcji nie wpływa na oryginalną zmienną.
- Przekazywanie przez referencję:
function modyfikujReferencje(&$x) { $x = $x * 2; } $b = 10; modyfikujReferencje($b); echo $b; // Wyświetli 20, bo funkcja modyfikuje oryginalną zmienną.
Tutaj, symbol `&` przed `$x` w definicji funkcji oznacza przekazywanie przez referencję. Funkcja modyfikuje bezpośrednio oryginalną zmienną `$b`.
- Porównanie:
Przekazywanie przez wartość jest bezpieczniejsze, ponieważ chroni oryginalne dane przed niezamierzonymi zmianami. Przekazywanie przez referencję jest bardziej wydajne, gdy chcemy modyfikować oryginalne dane.
Ten przykład pokazuje podstawy przekazywania argumentów w PHP. Zachęcamy do dalszego zgłębiania tematu, aby lepiej zrozumieć jego zaawansowane aspekty.