Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Wydobycie zmiennej z funkcji
dr revuu
post
Post #1





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 21.01.2010

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


Witam. Nie wiem za bardzo w jaki sposób zwrócić zmienną z funkcji, którą utworzyłem. Próbowałem wstawiać return w różne miejsca, ale jakoś mi nie wychodziło. Funkcja działa (zamiast przypisania nazwy miesiąca, miałem wcześniej echo 'jakiś mies'). Data jest w formacie 0000-00-00. Oto kod:

  1. function data($data)
  2. {
  3. $tablica=explode('-',$data);
  4.  
  5. switch($tablica[1])
  6. {
  7. case '01': $mies='Styczeń'; break;
  8. case '02': $mies='Luty'; break;
  9. case '03': $mies='Marzec'; break;
  10. }
  11. return "$mies";
  12. }
  13.  
  14. data($rownews[data]);
  15. echo "$mies";
Go to the top of the page
+Quote Post
zend
post
Post #2





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


Podałeś niekompletne dane
  1. return $mies;

Tą linijkę wstaw na samym końcu funkcji, tzn po wszystkich ech'ach, if'ach itp, przed nawiasem klamrowym kończącym funkcję, ponieważ instrukcja return skończy działanie funkcji i nic co było pod nią już się nie wykona

Musisz też podać wartość default w swichu, ponieważ kiedy miesiącem będzie np Kwiecień to zmienna $mies nie zostanie nawet zainicjowana i posypią Ci się błędy

Poza tym zmień nazwę funkcji, ponieważ funkcja "data" już istnieje w php (np na podaj_date())

  1. echo podaj_date($row['data']);


Ten post edytował zend 1.04.2010, 16:39:07
Go to the top of the page
+Quote Post
dr revuu
post
Post #3





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 21.01.2010

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


Return mam przed ostatnim nawiasem. Default dodałem (choć mój miesiąc w testowanym przypadku to marzec). Zmieniłem nazwę funkcji i nadal nic.
Go to the top of the page
+Quote Post
zend
post
Post #4





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


  1. function podaj_date($data)
  2. {
  3. $tablica=explode('-',$data);
  4.  
  5. switch($tablica[1])
  6. {
  7. case '01': $mies='Styczeń'; break;
  8. case '02': $mies='Luty'; break;
  9. case '03': $mies='Marzec'; break;
  10. default : $mies = 'xxx'; break;
  11. }
  12. return $mies;
  13. }
  14.  
  15. echo podaj_date($rownews['data']);
  16.  


Jednak bez zmiany nazwy też by się obyło smile.gif w php funkcja nazywa się date a nie data, ale już wszystko powinno działać
Go to the top of the page
+Quote Post
dr revuu
post
Post #5





Grupa: Zarejestrowani
Postów: 31
Pomógł: 1
Dołączył: 21.01.2010

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


Hmm, myślałem, że za pomocą return mogę zwrócić wszystko w formie takiej, jakiej jest w funkcji - return $coś, da mi $coś w całym skrypcie. Fakt faktem, wyciągnąłeś dane z funkcji, więc dzięki smile.gif
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 Aktualny czas: 19.08.2025 - 17:59