Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: funkcja nie zwraca danych :/
Forum PHP.pl > Forum > Przedszkole
broU
  1. <?php 
  2.  
  3. function fol()
  4. {
  5. if(!isset($folder)) {
  6. echo 'nie ma';
  7. }
  8. $folder = 'xxx';
  9. return $folder;
  10. }
  11.  
  12.  
  13. fol($folder);
  14. echo $folder;
  15.  
  16. ?>

nie wiem , ja to widzę tak , $folder nie ma , funkcja fol() niby ją wysyła , ale dostaje tekst 'nie ma' , pozniej w funkcji $folder jest deklarowana i zwracana , ale niestety tak nie jest . echo juz nie wyswietla xxx chociaz $folder jest zwracana ... nie wiem gdzie jest błąd :/ albo jesli nie ma bledu , to nie wiem jak zrobic , zeby jednak to echo sie wykonalo questionmark.gif
Dabroz
  1. <?php
  2. function fol(&$folder)
  3. {
  4. if(!isset($folder)) {
  5. echo 'nie ma';
  6. }
  7. $folder = 'xxx';
  8. return $folder;
  9. }
  10.  
  11.  
  12. fol($folder);
  13. echo $folder;
  14.  
  15. ?>
Ace
masz kod
  1. <?php
  2.  
  3.  
  4. function fol()
  5. {
  6. if(!isset($folder)) {
  7. echo 'nie ma';
  8. }
  9. $folder = 'xxx';
  10. return $folder;
  11. }
  12.  
  13.  
  14. fol($folder);
  15. echo $folder;
  16.  
  17. ?>


wiec sie zastanow... w funkcji fol() przekazujsz zmienna $folder... linia chyba 12... wiec... w linii 2 musisz uzupelnic ot ~~... function fol ( $var ) dalej... if ( !isset( $var ) ) {... dalej... funkcjia tobie zwraca dane... ale ty ich nie zapisujesz to zmiennej wiec... calosc

  1. <?php
  2.  
  3. function fol( $var )
  4. {
  5. if( !isset($var)) {
  6. echo 'nie ma';
  7. }
  8. $folder = 'xxx';
  9. return $folder;
  10. }
  11.  
  12.  
  13. $dane = fol($folder); // funkcja zwraca jakies dane
  14. echo $dane; // wyswietlam te dane !!
  15.  
  16. ?>
broU
dzięki , rozumiem już prawie wszystko , za wyjątkiem tego , dlaczego w kodzie Dabroza pojawiło się '&' przed $folder questionmark.gifquestionmark.gif dlaczego ? co to znaczy ?
akubiczek
Przekazuje w ten sposób referencje do zmiennej (czyli jej adres, a nie jej wartość). W ten sposób nie tworzy nowej zmiennej lokalnej, ale działa to jakby pracował na zmiennej globalnej - zmiana jej wartości wewnątrz funkcji spowoduje zmianę widoczną także "na zewnątrz".
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.