Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcje
Forum PHP.pl > Forum > Przedszkole
Sabudda
Mam lame pytanko.

Jak zrobic zmienne w funkcjach globalnymi?
Tzn mam w funkcji np. ALA zmienna $a = 1, jak wywolac ta zmienna (juz po wczesniejszym wywolaniu funkcji... ) $ala...
czachor
nie za bardzo rozumiem, ale może o to chodzi...
  1. <?php
  2. function foo()
  3. {
  4.  $ala = 'ma kota';
  5.  
  6.  return $ala;
  7. };
  8.  
  9. echo foo(); //wyświetli wartość 'ma kota'
  10. ?>
Sabudda
nie o to mi chodzi.

przyklad:

  1. <?php
  2. function ala($1) {
  3. if ($1) {
  4. echo &#092;"ala\";
  5. $check = &#092;"1\";
  6. }
  7. }
  8.  
  9. ala(&#092;"tescik\"); //tu sobie wywoluje funkcja ktora cos robi
  10.  
  11. if ($check = &#092;"1\") // teraz chodzi o to zeby $check BYL Z FUNKCJI, tak jak jest teraz nie bedzie dzia
  12. ac
  13. {
  14. echo &#092;"zlozenia funkcji ok\";
  15. }
  16. ?>
silent
Można to zrobić w ten sposób:
  1. <?php
  2. function ala($1) {
  3. global $check; // <- o ten wpis chodzi
  4. if ($1) {
  5. echo &#092;"ala\";
  6. $check = &#092;"1\";
  7. }
  8. }
  9.  
  10. ala(&#092;"tescik\"); //tu sobie wywoluje funkcja ktora cos robi
  11.  
  12. if ($check == &#092;"1\")  
  13. echo &#092;"zlozenia funkcji ok\";
  14. }
  15. ?>

albo też (w tym przypadku) tak:
  1. <?php
  2. function ala($1) {
  3. $check=0;
  4. if ($1) {
  5. echo &#092;"ala\";
  6. $check = 1;
  7. }
  8. return $check;
  9. }
  10.  
  11. $check=ala(&#092;"tescik\"); //tu sobie wywoluje funkcja ktora cos robi
  12.  
  13. if ($check == 1)  
  14. echo &#092;"zlozenia funkcji ok\";
  15. }
  16. ?>

Jest to rozwiązanie poprawniejsze, gdyż jeśli tylko się da to należy unikać stosowania zmiennych globalnych wewnątrz funkcji.
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.