Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> global w funkcji
Bastion
post
Post #1





Grupa: Zarejestrowani
Postów: 505
Pomógł: 0
Dołączył: 8.01.2005

Ostrzeżenie: (0%)
-----


Mam takie pytanie, przypuscmy ze mam zmienna $zmienna1 zawierajaca powiedzmy 20kB tekstu ,
i teraz chcialbym aby zmienna byla widoczna w kilku funkcjach na przyklad :

$zmienna1 = ".....20kB...."

function foo1() {
global $zmienna1;
...
}

function foo2() {
global $zmienna1;
...
}

function foo3() {
global $zmienna1;
...
}

Moje pytanie brzmi , czy uzycie global powoduje ze zmienna jest widoczna w kazdej z funkcji
w ktorej jest uzyta czy nastepuje kopiowanie zawartosci zmiennej do podfunkcji. Pytam ze wzgledu
na ergonomie w obawie ze zmienna jest powielana i zabiera tyle razy wiecej pamieci ile razy
uzyta jest w funkcjach.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tiraeth
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


global -> Powoduje ona, że na zmiennej ($zmienna1) będzie można operować tak samo, jak na lokalnej (czyli poza funkcją), a jeżeli funkcja zmieni jej wartość, po zakończeniu działania pozostanie ona zmieniona.

(na podstawie: php4 - ćwiczenia praktyczne)
np.
  1. <?php
  2. $a = 1;
  3. $b = 2;
  4.  
  5. function Suma()
  6. {
  7.  global $a, $b;
  8.  
  9.  $b = $a + $b;
  10. }
  11.  
  12. Suma();
  13. echo $b;
  14. ?>

Przy ustawieniu global $a, $b w środku zmiennej nie ma już znaczenia czy poza funkcją zmienna $b została zdeklarowana jako 2 gdyż w funkcji została zastąpiona sumą $a i $b (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Wynik: 3
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 3.10.2025 - 19:09