ďťż
Podstrony
|
telcocafeZ Podręcznika PHP:W PHP referencje są środkiem dostępu do tej samej wartości zmiennej poprzez różne nazwy. (...) Zwróć uwagę na to, że w PHP nazwa zmiennej oraz wartość zmiennej są dwiema różnymi rzeczami, wobec tego ta sama wartość może być dostępna poprzez różne nazwy. Najbliższą analogią jest Uniksowy system plików i ich nazw - nazwy zmiennych to wpisy katalogowe, a wartości to same pliki. (...) $a oraz $b są całkowicie równe, czyli nie $a wskazuje na $b lub odwrotnie, lecz $a oraz $b wskazują na to samo miejsce. Co zaś z tworzeniem referencji do tablic? $a = array('klucz'=>1, 'klucz2'=>2, itd.); //Tablica z wieloma kluczami $b = &$a; Jeśli referencje wskazują tylko samą wartość zmiennej, czy PHP tworzy w $b dowiązania do wartości wszystkich kluczy występujących w $a, co może być czasochłonne? Użytkownik Ferrari edytował ten post 26 styczeń 2008, 19:17 czasochłonne to jest czytanie twoich koncepcji ;) referencja oznacza że nie przekazywana jest wartość a jedynie odnośnik do niej (co jest oszczędniejsze dla RAMu). Przykład "działania" referencji: <pre><?php $t = array(); function test($a) { $a[] = time(); return $a; } print_r(test(&$t)); print_r(test(&$t)); print_r(test(&$t)); print_r(test(&$t)); Nie jest przekazywana tablica lecz "odnośnik", przez co każde wywołanie dopisuje do tablicy nowy element. i bez: <pre><?php $t = array(); function test($a) { $a[] = time(); return $a; } print_r(test($t)); print_r(test($t)); print_r(test($t)); print_r(test($t)); Każde wywołanie funkcji dostaje pustą tablicę. Użytkownik Riklaunim edytował ten post 26 styczeń 2008, 21:40 |
|||
Sitedesign by AltusUmbrae. |