Autor | Zpráva | ||
---|---|---|---|
Greeg Profil |
#1 · Zasláno: 28. 7. 2008, 13:44:57
ak potrebujem do funkcie poslať pole, je efektívnejšie ho globalizovať, alebo poslať cez parameter jeho ukazovateľ?
|
||
Greeg Profil |
#2 · Zasláno: 28. 7. 2008, 14:21:25 · Upravil/a: Greeg
tak teda aby sa vedelo o čom točim:
$mojePole = array(); //cez ukazatel function fnc1(&$mojePole) { ... } // globalne function fnc2() { global $mojePole; ... } čo z toho spapa menej cpu/pamete? |
||
karbon Profil * |
#3 · Zasláno: 28. 7. 2008, 15:19:53
Pokud to nebudou data v řádu MiB, tak se podle mě nemá cenu nad tímto zamýšlet.
|
||
bukaj Profil |
#4 · Zasláno: 28. 7. 2008, 16:12:22
Greeg
Nezabývej se tím, PHP je dosti inteligentní na to, aby pole při předávání do funkce nekopírovalo. Nepoužíval bych ani jedno, ani druhé. Při předávání parametru se hodnotě pouze zvýší její reference count. A v tabulce symbolů přibyde odkaz na tuto hdonotu. Třeba na latríně je to jakžtakž popsané. |
||
Greeg Profil |
#5 · Zasláno: 28. 7. 2008, 17:52:08 · Upravil/a: Greeg
bukaj
laTrine som v celku pochopil a kedže moja fnc okrem výpisu s tým poľom nič iné nerobí, malo by to byť košer ako vianoce. no nepochopil som tvojmu Nepoužíval bych ani jedno, ani druhé. |
||
bukaj Profil |
#6 · Zasláno: 28. 7. 2008, 18:17:27
Greeg
no nepochopil som tvojmu Nepoužíval bych ani jedno, ani druhé. Že bych v tomto případě nepoužíval reference, ani globální proměnné. Pokud opravdu nepotřebuješ v poli něco měnit tak, aby to bylo dostupné i po skončení vykonávání těla fce, použití referencí je zbytečné. A globální proměnné a zglobalizovávání proměnných ve fcích jsou prostě fůj :o) |
||
Greeg Profil |
#7 · Zasláno: 28. 7. 2008, 18:41:10
:D jaj sry, nechapal som ako inak si predstavuješ predanie toho poľa do fnc a potom mi konečne došlo, že toto nie je (fuj) Cčko :)
|
||
Časová prodleva: 16 let
|
0