Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Warunek if dla przedziałów
Forum PHP.pl > Forum > Przedszkole
bahh
Witam,

mam pewien problem, otóż chcę by zmienna $a jeśli mieściłaby się w danym przedziale to wtedy przyjmowałaby jakieś $b tzn.:
dla $a mieszczącego się w <1,5> to $b=1, gdy $a w <6,10> to $b=2 i tak w kółko.

Wiem, że można to rozwiązać czymś takim:
  1. if (1<=$a && $a>=5)
  2. $b=1;
  3. elseif (6<=$a && $a>=10)
  4. $b=2;
  5. elseif (11<=$a && $a>=15)
  6. $b=3;
  7. elseif (16<=$a && $a>=20)
  8. $b=4;
  9. elseif (21<=$a && $a>=25)
  10. $b=5;

i tak w nieskończoność... ale to ostatecznie nie załatwia problemu. Macie jakieś pomysły jak to zrobić?

myślałem o czymś takim, jest ok?

  1. $s1=1;
  2. $s2=5;
  3. $b=1;
  4. while ($s1>=$a && $a>=$s2) {
  5. $s1+5;
  6. $s2+5;
  7. $b++;
  8. }
nospor
Podpowiedź: dziel liczbę modulo 5 - to da ci $b
sabat24
A
  1. $b = ceil(($a-1) / 5);

nie załatwi sprawy?
bahh
  1. $b = ceil(($a-1) / 5);


wtedy dla $a=1 $b=0, $a=3 $b=0 i tak dalej, to nie daje tego samego co wyżej
sabat24
Odjemnik zamień na 0.99 i będzie dawało to co trzeba.
nospor
Mialem na mysli zwykle dzielenie przez 5 i zaokrąglanie w dół przy pomocy floor() a następnie do wyniku dodanie 1 i masz swoje $b.
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.