Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: problem z dostępem zmiennych
Forum PHP.pl > Forum > PHP
pain3hp
  1. function a()
  2. {
  3. global $a;
  4. $a='string';
  5. }
  6. function b()
  7. {
  8. echo $a;
  9. }

dlaczego nie ma dostepu do zmiennej globalnej?questionmark.gif?
osl
a skąd funkcja b ma wiedzieć, że $a to zmienna globalna?
pain3hp
kiedy wykonam funkcje a() to też nie wie, dziwne
prowseed
jeden z przykladow:
  1.  
  2. <?php
  3. function wyswietl(){
  4. global $globalna;
  5. $globalna = 'string';
  6.  
  7. function wewnetrzna(){
  8. global $globalna;
  9. echo ' w funkcji wewnetrzna: $globalna';
  10. }
  11.  
  12. wewnetrzna();
  13. echo 'w funkcji wyswietl: $globalna';
  14. }
  15.  
  16. wyswietl();
  17.  
  18. ?>
  19.  


Na Twoim przykladzie:

  1. <?php
  2. function a()
  3. {
  4. global $a;
  5. $a='string';
  6. return;
  7. }
  8. function b()
  9. {
  10. global $a;
  11. echo $a;
  12. }
  13.  
  14. a();
  15. b();
  16. ?>
pain3hp
ahaaa, dzieki, swoja droga nie rozumiem po co tworcy jezyka tak to rozwiazali przecież skoro ustawiam zmienną globalną to powinna być dostępna wszędzie bez wcześniejszych kolejnych powiadomień że ta jest globalna. Tak chyba jest w wiekszosci jezykow z tego co mi sie wydaje np c++
prowseed
Troche chyba tego nie rozumiesz. Ty deklarujesz w funkcji z ktorych zmiennych globalnych ona korzysta, a nie ustawiasz ich tam. Zmienne globalne sa ustawiane, no... globalnie:

  1. <?php
  2. $a = kon;
  3. $b = krowa;
  4.  
  5. function c(){
  6. global $a, $b;
  7. echo "$b czyli $a";
  8. }
  9.  
  10. c();
  11. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.