Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Funkcja w funkcji, Problem z globalizacją zmiennej
gadeawzuki
post 20.03.2013, 01:31:39
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 1
Dołączył: 14.01.2009
Skąd: Kraków

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


Siema.

Mam następujący problem, otóż mam funkcję rejestracji, w której zrobiłem kolejną funkcję walidacji nazwy użytkownika. Skrypcik śmiga, jednak mam problem. Nie mogę wywołać zmiennej na zewnątrz z tej funkcji zewnętrznej. Skrypt działa na pewo, bo jak robię echo to wszytsko jest ok.

Skrypt wygląda mniej więcej tak:
  1. function a(){
  2. function b(){
  3. global $c;
  4. $c = 1;
  5. }
  6. b();
  7. echo $c;
  8. }


I ta zmienna $c niechce mi się wyświetlić. Proszę o pomoc smile.gif.

Ten post edytował gadeawzuki 20.03.2013, 01:32:45
Go to the top of the page
+Quote Post
devnul
post 20.03.2013, 05:08:55
Post #2





Grupa: Zarejestrowani
Postów: 1 470
Pomógł: 75
Dołączył: 21.09.2005
Skąd: że znowu

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


jak już musisz robić to w ten sposób to może zamiast korzystac z paskudnego global zrobić to tak:
  1. function a(){
  2. function b(){
  3. $c = 1;
  4. return $c;
  5. }
  6. $c=b();
  7. echo $c;
  8. }


--------------------
Profesjonaliści są przewidywalni...
strzeż się amatorów...
FL4SHB4CK - imprezy, galerie, lokale
Go to the top of the page
+Quote Post
gadeawzuki
post 20.03.2013, 13:01:39
Post #3





Grupa: Zarejestrowani
Postów: 24
Pomógł: 1
Dołączył: 14.01.2009
Skąd: Kraków

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


Dzięki! Wszystko działa jak należy. Jeszcze gdyby mi mógł ktoś wyjaśnić dlaczego nie powinienem używać tego globala?
Go to the top of the page
+Quote Post
!*!
post 20.03.2013, 13:31:25
Post #4





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

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


Ponieważ są problemy z testowaniem takiego kodu, nie wiadomo skąd, bierze Ci się jakaś zmienna. Zakładając że masz 15k linni kodu, które zobaczysz po 8 miesiącach przerwy. Będziesz pamiętał gdzie ta zmienna się tworzy? Wątpię.


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 12:59