Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Warunek logiczny dla IF
Forum PHP.pl > Forum > Przedszkole
-cube22-
Witam!
Jak prawidłowo zapisać IF-a jeżeli chcę, aby warunek był spełniony gdy jedna i ta sama zmienna będzie równa 1 lub 2 lub 5, np.:
  1. if ($zmienna == 1 || $zmienna == 2 || $zmienna == 5) {
  2. echo 'dobrze';
  3. } else {
  4. echo 'źle';
  5. }


Czy jest prostsza forma zapisu gdybym chciał spełnić warunek dla większej liczby wartości?
Piogola
Tak. Użyj in_array
kadlub
dla ilu wartości chcesz to zrobić?
jak dla np 40 to ja bym to zrobił z array i for
sadistic_son
Najprościej tak jak podpowiedział Piogola:
  1. $wartosci_ok=array( []=>1 , []=>2 , []=>5 );
  2.  
  3. if(in_array($zmienna,$wartosci_ok)){
  4. echo 'dobrze';
  5. }else{
  6. echo 'zle';
  7. }
nospor
$wartosci_ok=array( []=>1 , []=>2 , []=>5 );
A po jakiemu to?Ni to chiński ni php...
kadlub
  1. $zmienna=2;
  2. $kryteria=array(2,3,6,8,4,9,12,4,65,23,76,34);
  3. $ile=count($kryteria);
  4. for($i=0;$i<$ile;$i++){
  5. if ($zmienna == $kryteria[$i]) {
  6. echo 'spełnia kryteria';
  7. $a++;
  8. }
  9.  
  10. }
  11. if($a<1){
  12. echo"nie spelnia kryteriów";
  13. }
  14.  

ja to zrobiłem tak
nospor
kadlub ale lubisz sobie życie utrudniac i banalny kod komplikować... Podane już zostało: in_array() - nie brnij już dalej.
-cube22-
Dzięki!
sadistic_son
Cytat(nospor @ 4.03.2011, 13:01:26 ) *
A po jakiemu to?Ni to chiński ni php...
Bo to było w swahili smile.gif

  1. $wartosci_ok=array(1, 2, 5, 78, 908);

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.