Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zakres2miesiace
Forum PHP.pl > Forum > Przedszkole
Guest
Hi,
mam podane 2 zmienne, w ktorych przechowywany jest w int zakres miesiecy (od,do). Musze to przekonwertowac tak aby funkcja stworzyla tablice, w ktorej zapisze wszystkie miesiace z tego zakresu(lub tylko 2 jesli nie ma zadnych miesiecy miedzy tym zakresem) w int. Jak sie do tego zabrac ?
TomASS
Możesz:
Z grubsza to wygląda tak:
  1. <?php
  2.  
  3. function miesiace($pierwszy,$drugi){
  4.  for($i=$pierwszy;$i<=$drugi;$i++) $tablica[] = $i;
  5.  return $tablica;
  6. }
  7.  
  8. print_r(miesiace(3,5));
  9.  
  10. ?>

To chyba o to chodziło - tak zrozumiałem smile.gif

Powodzenia.
Guest
nie... masz w 2 int podana date 2 miesiecy i w tablicy masz zwrocic wszystkie miesiace z tego przedzialow...
piratt
To wszystko tak samo jak napisal TomASS tylko zamiast

  1. <?php
  2.  
  3. for($i=$pierwszy;$i<=$drugi;$i++) $tablica[] = $i;
  4. ?>


umiesc cos typu

  1. <?php
  2. for($i=$pierwszy;$i<=$drugi;$i++) $tablica[] = $miesiace[$i];
  3.  
  4. ?>


a na poczatku zainicjuj tablice $miesiace nazwami miesiecy. Wiecej informacji:
http://www.leon.w-wa.pl/texts/kurs/tablice.php oraz manual od php.

Pozdrawiam
Michał
mike
Wydaje mi się że autor mówi o datach podanych w formie timestamp.
(dość niejasno napisane)

Więc można tak:
  1. <?php
  2.  
  3. $arrMonths = array( 'Styczeń', 'Luty', 'Marzec', 'Kwiecień', 'Maj', 'Czerwiec', 'Lipiec','Sierpień','Wrzesień','Październik', 'Listopad', 'Grudzień' );
  4.  
  5. function GetMonths( $arrMonths, $intStart, $intStop )
  6. {
  7. $intStartMonth = date( 'n', $intStart );
  8. $intEndMonth  = date( 'n', $intStop );
  9.  
  10. return array_slice( $arrMonths, $intStartMonth - 1, $intEndMonth - $intStartMonth + 1 );
  11. }
  12.  
  13. // przykład
  14.  
  15. $arrResult = GetMonths( $arrMonths, 128513157, 1123513157 );
  16.  
  17. echo '<pre>' . print_r( $arrResult, true ) . '</pre>';
  18.  
  19. ?>


Pisane "z palca" ale chyba nie ma błędów.
Guest
mike_mech tylko Ty mnie w miare dobrze zrozumiales smile.gif
tyle, ze hmm ja chce podac tylko 2 parametry a nie 3 z miesiacami...
nospor
To se włóż pierwszy parametr $arrMonths do funkcji GetMonths() i bedziesz miał tylko dwa parametry. @mike_mech podał to tylko jako przykład, chyba możesz trochę włożyc własnej inicjatywy. Wszystko masz jak na dłoni
Guest
hmm w sumie zrobilem to tak... ale mimo to thx za odp...
  1. <?php
  2.  
  3. Function zakres2miesiace($od,$do) {
  4. $ret[1]=$od;
  5. $m=strtotime('+1 months',$od);
  6. $i=2;
  7. While($m<=$do) {
  8. $ret[$i]=$m;
  9. $m=strtotime('+1 months',$m);
  10. $i++;
  11. }
  12. $ret[0]=$i;
  13. return $ret;
  14. }
  15.  
  16. ?>
TomASS
Jak mówiłem już komuś, że im więcej pracy włoży się w napisanie pytania, tym bardziej wyczerpującą i dokładniejszą odpowiedź się dostanie smile.gif Wystarczyło troszkę pokombinować (bardzo dobre rozwiązanie dał Ci szacowny micke_mech), a przyjaciel nospor Cię jeszcze dodatkowo naprowadził smile.gif


----edit----
<spoko>
~mike_mech
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.