Ta strona stosuje pliki cookies. Poczytaj co to jest w polityka cookies

Kącik początkującego
Dobre programy - tutoriale
Programy biznes
Programowanie PHP

nauczycieli Decyzje i operatory porównania

Podejmowanie decyzji i operatory porównania

       Powiedzmy, że chcemy sprawdzić czy podana przez użytkownika liczba jest większa od 0 i mniejsza od 1000. Co będzie nam do tego potrzebne?

Instrukcja

if (warunek czy podana liczba jest większa od 0 i mniejsza od 1000)
{
    
jeśli spełnionyczyli prawda 
1 to wykonaj polecenia w tym bloku
}
else
{
     
jeśli nieczyli fałsz 
0 to wykonaj polecenia w tym bloku
}

Kostrukcja będzie wyglądać mniej więcej tak:

$podana_liczba=$_GET['liczba'];

if(
$podana_liczba>&& $podana_liczba<1000
)
{
     echo 
"Liczba jest mniejsza od 1000 a większa od 0."
;
}

else
{
     echo 
"Liczba nie mieści się w przedziale od 0 do 1000"
;
}

Program uruchamiamy z linku:
http://localhost/~lekcja1/index.php?liczba=100

Czyli podana liczba będzie 100. Gdy chcemy podać liczbę -200 uruchomimy skrypt wpisując w adres przeglądarki:

 http://localhost/~b/index.php?liczba=-200

Wykorzystujemy więc tu operatory porównania liczb takich jak:

  •  a == b - czy a jest równe b
  • a>b - czy a jest mniejsze od b
  • a>b - czy a jest większe od b
  • a!=b - czy a jest różne od b

Wynikiem ich jest albo prawda, czyli 1 albo fałsz czyli 0

oraz operatory logiczne, które z założenia operują nie na liczbach tylko na prawdzie lub fałszu na 0 lub na 1:

  • && - operator "i"
  • || - operator "lub"
  • ^ - negacja

Te pierwsze operatory stosujemy do porównania np. czy 100>0? Odpowiedź będzie tak (1)  lub nie (0). Nie ma tu innych możliwości. Wynik tego będzie zatem dwustanowy 1 lub zero prawda lub fałsz.

Zauważmy, że by sprawdzić czy liczba 100 mieści się w przedziale 0-1000 najpierw sprawdzamy czy 100>0 a później czy 100<1000. Żeby wynik był prawdziwy to "pierwszy i drugi" warunek musi być spełniony, czyli musi być "prawda i prawda". Nie może być "prawda i fałsz", lub "fałsz i fałsz" albo "prawda lub fałsz".

Kiedy skorzystamy z operatora ||, czyli lub w warunku? A co jeśli nasze zadanie będzie brzmiało sprawdź czy podana liczba jest mniejsza od zera lub większa od 1000?

$podana_liczba=$_GET['liczba'];
if(
$podana_liczba<|| $podana_liczba>1000
)
{
echo 
"Podana liczba jest mniejsza od 0 lub większa od 1000"
;
}
else
{
echo 
"Liczba jest mniejsza od 1000 a większa od 0."
;
}

Oczywiście w programowaniu z reguły nie ma jednego rozwiązania lecz można zrobić coś na wiele różnych sposobów.

Dodatkowo możemy też zagnieżdżać pytania:

$podana_liczba=$_GET['liczba'];

if(
$podana_liczba>&& $podana_liczba<1000
)
{
     echo 
"Liczba jest mniejsza od 1000 a większa od 0."
;
}

else if(
$podana_liczba<0
)
{
     echo 
"Liczba jest mniejsza od zera"
;
}
else
{
   echo 
"Liczba jest większa od tysiąca"
;
}

Przydatna funkcja w decyzjach

isset(); - pomaga sprawdzić, czy zmienna istnieje. Jeśli nie możemy np. użytkownikowi powiedzieć, by ją ustawił i nie uruchomić programu dopóki tego nie zrobi np.

$podana_liczba=$_GET['liczba'];
if(isset(
$podana_liczba
))
{
    if(
$podana_liczba<|| $podana_liczba>1000
)
    {
        echo 
"Podana liczba jest mniejsza od 0 lub większa od 1000"
;
    }
    else
    {
        echo 
"Liczba jest mniejsza od 1000 a większa od 0."
;
    }
}
else
{
    echo 
"Podaj liczbę!"
;
}



Zobacz inne:

copyright © Pcwiedza.pl