Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Switch/Case i Daty, Jak wykorzysta instukcje switch/case do dat?
Soks
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 11.03.2010

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


Mam następujący problem:
Chcę, aby w zależności od daty zmienna przyjmowała określoną wartość, jako, że tych dat może być sporo zdecydowałem się napisać to w switch/case. Chciałem też użyć funkcji now(), gdyż na całej stronie jej stosowałem.
Napisałem coś takiego, lecz nie działa, zresztą nie spodziewałem się, że zadziała, ale chciałem spróbować:

  1. switch ($a = now()){
  2.  
  3. case (2010-03-13 12:00:00<=$a<=2010-03-13 14:40:00) :
  4. $zmienna = 2;
  5. break;
  6.  
  7. case (2010-03-13 14:40:01<=$a<=2010-03-13 14:45:00) :
  8. $zmienna = 3;
  9. break;
  10.  
  11. default :
  12. $zmienna = 5;
  13. break;
  14. }


I wyskakuje błąd:
Parse error: syntax error, unexpected T_LNUMBER....
Domyślam się, że w takiej formie tego się nie da zrobić, ale czy da się to zrobić korzystając z funkcji now()?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Soks
post
Post #2





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 11.03.2010

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


Dzięki niby powinno działać, ale:
Parse error: syntax error, unexpected T_IS_SMALLER_OR_EQUAL....

  1. $a=strtotime(date("Y-m-d"));
  2.  
  3. switch ($a){
  4.  
  5. case (strtotime(2010-03-12)<=$a<=strtotime(2010-03-13)) :
  6. $zmienna = 2;
  7. break;
  8.  
  9. case (strtotime(2010-03-14)<=$a<=strtotime(2010-03-15)) :
  10. $zmienna = 3;
  11. break;
  12.  
  13. default :
  14. $zmienna = 5;
  15. break;
  16. }


Wskazuje na błąd w miejscu, gdzie jest pierwszy case, wydaje mi się, że to coś z operatorem porównania, ale co?
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.10.2025 - 14:15