Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Funkcja zwracająca tablice
Forum PHP.pl > Forum > Przedszkole
Newbie1
Funkcja ma zapisać do tablicy 10(tutaj żeby była dowolna liczba) kolejnych dni tygodnia w które wypada dzień matki i zwrócić tą tablicę. Później chce ją wyświetlić.

  1. <?xml version="1.0" encoding="windows-1250"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  3. "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  4. <html xmlns="http://www.w3c.org/1999/xhtml" xml:lang="pl" lang="pl">
  5. <head>
  6. <meta http-equiv="Content-type" content="text/html; charset=windows-1250" />
  7. <title>Pierwszy skrypt php</title>
  8. </head>
  9. <body>
  10. <?php
  11.  
  12. $x = 2015;
  13. $j = 0;
  14. $t = 10; //liczba następnych dni matki których dni tygodnia chce wypisać
  15. $i = 2015 + $t;
  16.  
  17. function dni_matki($t)
  18. {
  19. while($x < $i)
  20. {
  21. $dzien_matki[$j] = date("l", mktime(0,0,0,5,26,$x));
  22. $x++;
  23. $j++;
  24. }
  25. return $dzien_matki;
  26. }
  27.  
  28.  
  29. dni_matki($t);
  30.  
  31. for($a = 0; $a < $t; $a++)
  32. echo $dzien_matki[$a]."<br>";
  33.  
  34. ?>
  35. </body>
  36. </html>


Błędy: Notice: Undefined variable: i in E:\xamp\htdocs\komunikat.php on line 19

Notice: Undefined variable: x in E:\xamp\htdocs\komunikat.php on line 19

Notice: Undefined variable: dzien_matki in E:\xamp\htdocs\komunikat.php on line 25

Notice: Undefined variable: dzien_matki in E:\xamp\htdocs\komunikat.php on line 32


Notice: Undefined variable: dzien_matki in E:\xamp\htdocs\komunikat.php on line 32


Notice: Undefined variable: dzien_matki in E:\xamp\htdocs\komunikat.php on line 32


Notice: Undefined variable: dzien_matki in E:\xamp\htdocs\komunikat.php on line 32


Notice: Undefined variable: dzien_matki in E:\xamp\htdocs\komunikat.php on line 32


Notice: Undefined variable: dzien_matki in E:\xamp\htdocs\komunikat.php on line 32


Notice: Undefined variable: dzien_matki in E:\xamp\htdocs\komunikat.php on line 32


Notice: Undefined variable: dzien_matki in E:\xamp\htdocs\komunikat.php on line 32


Notice: Undefined variable: dzien_matki in E:\xamp\htdocs\komunikat.php on line 32


Notice: Undefined variable: dzien_matki in E:\xamp\htdocs\komunikat.php on line 32

Wydaje mi się że 10 ostatnich jest spowodowanych tymi poprzednimi bo pętle for chyba dobrze zapisałem.
Pozdrawiam i proszę o pomoc.
Turson
Wewnątrz funkcji nie masz dostępu do zmiennych zadeklarowanych poza nią. Należy przekazać je jako argument
Newbie1
  1. <?xml version="1.0" encoding="windows-1250"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
  3. "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  4. <html xmlns="http://www.w3c.org/1999/xhtml" xml:lang="pl" lang="pl">
  5. <head>
  6. <meta http-equiv="Content-type" content="text/html; charset=windows-1250" />
  7. <title>Pierwszy skrypt php</title>
  8. </head>
  9. <body>
  10. <?php
  11.  
  12.  
  13.  
  14. //
  15.  
  16.  
  17. function dni_matki($t)
  18. {
  19. $x = 2015;
  20. $j = 0;
  21. $i = 2015 + $t;
  22. while($x < $i)
  23. {
  24. $dzien_matki[$j] = date("l", mktime(0,0,0,5,26,$x));
  25. $x++;
  26. $j++;
  27. }
  28. for($a = 0; $a < $t; $a++)
  29. echo $dzien_matki[$a]."<br>";
  30. return $dzien_matki;
  31. }
  32.  
  33. $t = 10;
  34. dni_matki($t);
  35. for($b = 0; $b < $t; $b++)
  36. echo $dzien_matki[$b]."<br>";
  37.  
  38. ?>
  39. </body>
  40. </html>

Tak wygląda mój skrypt po poprawce, niestety chyba nie umiem zwrócić tablicy dlatego znowu jest undefined variable w ostatniej pętli, proszę o pomoc gdyż chcę pierw zwrócić tablicę a potem wyświetlić.
Pozdrawiam.
nospor
1) jak dostajesz blad to nalezy go przytaczas dokladnie wraz z linią ktorej dotyczy, a nie musimy zgadywac po slownych opisach....
2) Jak funkcja coś zwraca, to należy to co ona zwracać odebrać. W przeciwnym wypadku leci to w kosmos. Newbie czy nie, ale do dokumentacji wypadaloby troche zagladac
http://pl1.php.net/manual/en/functions.returning-values.php
Newbie1
Tak przepraszam za podpunkt 1 twojego opisu, natomiast do dokumentacji zajrzałem i właśnie nie wiem jak mam zapisać te odebranie w moim przypadku link do dokumentacji dać najłatwiej.
nospor
Cytat
link do dokumentacji dać najłatwiej.
I kto to mowi.... ROwnie dobrze moge napisac: najlatwiej olac co w dokumentacji i zebrac na forum...

$tutaj_odbierasz_co_zwraca_funkcja = jakas_funkcja();
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.