Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Stałe warunki w if'ie ze zmiennymi wartościami
Forum PHP.pl > Forum > Przedszkole
vbig
Witam!
Może nazwa tematu brzmi dość dziwnie, ale nie wiedziałem jak go właściwie nazwać tongue.gif
Mój problem, polega na tym, że próbuję napisać skrypt, oparty na kilku if'ach w których skład wchodzą kolejne if'y, jednak wszystkie "pod if'y" mają dokładnie te same warunki, tylko troche inne (tak, wiem że napisałem "dokładnie te same" i "troche inne"... Nie musisz już tego pisać tongue.gif)

Podam o co mi chodzi (będzie łatwiej tongue.gif)

Kod
if($x == 1){
 $y = $y + 5;
 if($y == 10 or $y == 15 or $y==100){
  //kod
 }}

if($x == 2){
 $y = $y + 8;
 if($y == 10 or $y == 15 or $y==100){
  //kod
 }}


i tak ileśtam razy tongue.gif
Dlatego chciałbym wiedzieć czy idzie sprawić że warunki $y == cośtam są zapisane w jakimś innym (wcześniejszym) miejscu w skrypcie i przywoływany do odpowiedniego if'a (jak widać na powyższym przykładzie warunki do $y są zawsze takie same), jednak za każdym razem aby wartość była zmieniona (pod wpływem wcześniejszego $y = $y + x)

Heh, przepraszam za błędy i jeśli ktoś nie zrozumiał mojego problemu, to go przepraszam, jednak inaczej nie potrafię tego wyjaśnić tongue.gif
Z góry dziękuję za pomoc.
hyhyhy
nie wiem, cyz dobrze zrozumialem, ale powiedzmy, w pierwszym warunku
  1. if($y == 10 or $y == 15 or $y==100){


mozesz napisac ze np. $y_rowne_dziesiec = true;

i pozniej w drugim warunku sprawdzic czy byl spelniony ten poprezdni tylko na true/false

dodac warunek ze if ((warunek 2) AND $y_rowne_dziesiec == true)
o to chodzi? bo szczerze mowiac, nie zajarzylem smile.gif

Piogola
  1. $tablica = array( 1 => 5, 2 => 8, ...);
  2. for($i=1;$i<count($tablica)+1;$i++){
  3. $y = 0;
  4. if($x == $i){
  5. $y += $tablica[$i];
  6. if($y == 10 or $y == 15 or $y==100){
  7. //kod
  8. }
  9. }
  10. }
vbig
@hyhyhy
chodzi mi bardziej coś w stylu:

  1. $x = '$y == 10 or $y == 15 or $y==100'
  2.  
  3. if($x == 1){
  4. $y = $y + 5;
  5. if($x = true){
  6. //kod
  7. }}
  8.  
  9. if($x == 2){
  10. $y = $y + 8;
  11. if($x = true){
  12. //kod
  13. }}


ale chyba takie coś nie ma prawa bytu, nie wiem jak to zapisać tongue.gif
Poza tym, w takiej sytuacji w każdym wypadku $x byłoby stałe, ponieważ wartość $y jest zmieniana (czy się myle?)
Mam nadzieję, że teraz trochę rozjaśniłem tongue.gif

@Piogola
Nie wiem czy Twój sposób zadziała, ponieważ pierwsze if'y składają się z 2 warunków (if($x == 1 and $z == 0){) a liczby się powtarzają.
hyhyhy
jeśli sam nie wiesz czy to ma sens, spróbuj sobie to rozpisać na kartce na czysty algorytm czyli

IF (warunek)
-> spelniony -> instrukcja
-> niespelniony -> instrukcja
itd itd. wtedy najlepiej widzisz czy takie coś jest możliwe, czy nie smile.gif
vbig
heh, dzięki za pomoc smile.gif
Problem rozwiązany!
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.