Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dostep do zmiennych
Forum PHP.pl > Forum > Przedszkole
gregi1
Mam problem otóż nie wiem jak skorzystać ze zmiennych innej funkcji a mianowicie na przykladzie:

  1. <?php
  2. function f1(){
  3.  
  4. $p1=5;
  5. $p2=6;
  6.  
  7. $suma=$p1+$p2;
  8. }
  9.  
  10. function f2(){
  11. f1()
  12.  
  13. echo 'wypisz'.$suma;
  14. }
  15. ?>


I niestety nie wypisuje mi tej sumy. Jak zrobic aby mi ja wypisalo?questionmark.gif
Lion_87
może return? i po co w ogóle Ci ta 2 funkcja?
no_face
  1. <?php
  2. function f1(){
  3.  
  4. $p1=5;
  5. $p2=6;
  6.  
  7. return $p1+$p2;
  8. }
  9.  
  10. function f2(){
  11. $suma = f1();
  12.  
  13. echo 'wypisz'.$suma;
  14. }
  15. ?>
gregi1
A jak zrobic jakbym chcial wypisac zarowno p1 i p2 w tej drugiej funkcji. Da się czy raczej nie?
Mephistofeles
Da się (globalne zmienne) ale po co? To zły styl pisania, powoduje sporo błędów i tworzy wiele bugów.
no_face
Referencje, albo wlasnie global smile.gif

  1. <?php
  2. $p1 = 0;
  3. $p2 = 0;
  4.  
  5. function f1(){
  6.  
  7. global $p1, $p2;
  8. $p1=5;
  9. $p2=6;
  10.  
  11. }
  12.  
  13. function f2(){
  14. f1();
  15.  
  16. echo 'wypisz'.$p1;
  17. }
  18. ?>
Mephistofeles
Nie polecałbym tego zwłaszcza początkującemu - właśnie teraz powinien się uczyć dobrego stylu kodowania, bo później zmienić przyzwyczajenia ciężko :/.
gregi1
Cytat(Mephistofeles @ 13.03.2009, 23:14:59 ) *
Da się (globalne zmienne) ale po co? To zły styl pisania, powoduje sporo błędów i tworzy wiele bugów.



Oki, skoro tak mówicie, to dodam do kazdej zmiennej zapytanie.
no_face
W takim razie od razu mozna byloby zaczac z OOP, stworz klase, w ktorej bedziesz pobieral podstawowe dane z bazy i zapisywal w jej zmiennych, pozniej tylko w razie potrzeby odwolujesz sie do zmiennych skladowych. Tak samo reszta kodu, wszystko lokujesz w odpowiedniej strukturze klas i tylko manipulujesz pociagajac za odpowiednie sznureczki.
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.