![]() |
![]() |
-lukasamd- |
![]()
Post
#1
|
Goście ![]() |
Witam,
ostatnio zaintrygowało mnie jedno pytanie - jak się ma do wydajności argument przekazywany do funkcji? Powiedzmy sobie, że mam coś takiego:
Funkcja, do której przekazuję w argumencie tablicę. Z tej tablicy potrzebuję jednak tylko id, a więc w sumie lepsze wydaje się to:
No ale czasami zachodzi potrzeba użycia czegoś z tablicy poza tym id... sporadycznie ale jednak. Jak wygląda porównanie obu tych sposobów pod względem wydajności? Czy po zwróceniu wartości automatycznie argumenty przekazywane do funkcji są niszczone (lokalnie wewnątrz funkcji), czy ma to jakiś konkretny wpływ na działanie? Ten post edytował lukasamd 16.06.2010, 17:37:23 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 215 Pomógł: 19 Dołączył: 24.12.2003 Skąd: Przemyśl Ostrzeżenie: (0%) ![]() ![]() |
Kiedyś też często przekazywałem dane skalarne referencyjnie dodając & w argumencie, aż odpaliłem kiedyś tak przypadkiem opcję Analyze Code w Zend Studio i przy funkcjach gdzie następował tylko odczyt argumentu a nie jego modyfikacja Zend sugerował wywalenie referencji. A dokladniej mówi tak
(IMG:http://img175.imageshack.us/img175/7813/zendo.jpg) dlatego jeśli nie przypisujemy jej nic nowego to referencji nie ma co używać, no chyba że jest to obiekt to wiadomo że w PHP5 poleci referencyjnie. Natomiast to czy przekazywać np całą tablicę czy tylko jej element to szczerze mówiąc ciekawe pytanie. Ale nie sądze by była tu jakaś znacząca różnica bo i tak w którymś momencie musisz się odwołac do jej indeksu. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 6.10.2025 - 07:23 |