Przykłady zastosowania instrukcji if...else
Kilka przykładów zastosowania instrukcji if...else
Ćwiczenie 1_11_2_1
Napisz skrypt, który liczbę wysłaną formularzem oceni jednym z napisów:
- Liczba z przedziału 0..100
- Liczba z przedziału 101..200
- Liczba z przedziału 201..300
- Liczba z przedziału 301..400
- Liczba z przedziału 401..500
- Liczba większa od 500
Zakładamy, że użytkownik poda liczbę całkowitą, nieujemną. Przykład skryptu wykonującego to zadanie:
<?php
$a=$_POST['pole_1'];
if ($a>500) echo 'Liczba większa od 500';
else if ($a>400) echo 'Liczba z przedziału 401..500';
else if ($a>300) echo 'Liczba z przedziału 301..400';
else if ($a>200) echo 'Liczba z przedziału 201..300';
else if ($a>100) echo 'Liczba z przedziału 101..200';
else echo 'Liczba z przedziału 0..100';
?>
Przetestuj działanie skryptu.
Ćwiczenie 1_11_2_2
Napisz skrypt, który wyznaczy największą spośród 3 liczb wysłanych formularzem. Dla uproszczenia zakładamy, że użytkownik wpisze liczbę. Przykładowy skrypt:
<?php
$a=$_POST['liczba_1'];
$b=$_POST['liczba_2'];
$c=$_POST['liczba_3'];
$max=$a;
if ($b>$max) $max=$b;
if ($c>$max) $max=$c;
echo 'Największa z liczb '.$a.', '.$b.', '.$c.' to liczba '.$max;
?>
Ćwiczenie 1_11_2_3
Napisz skrypt, obliczający pierwiastki trójmianu kwadratowego ax2 + bx + c = 0. Należy sprawdzić, czy użytkownik podał poprawnie współczynniki a, b, c. Formularz oraz skrypt PHP mają się znajdować w jednym pliku. Oto przykładowe rozwiązanie zadania:
<!doctype html>
<html>
<head>
<title>Obliczanie pierwiastków trójmianu kwadratowego</title>
<meta charset="UTF-8" />
</head>
<body>
<?php
function wsp_value($a,$b,$c)//wartości atrybutu value pól tekstowych formularza
{
if ($a)
{
if (!isset($_POST['wsp_a'])) return ''; else return $_POST['wsp_a'];
}
else if ($b)
{
if (!isset($_POST['wsp_b'])) return ''; else return $_POST['wsp_b'];
}
else
{
if (!isset($_POST['wsp_c'])) return ''; else return $_POST['wsp_c'];
}
}
?>
<form action="" method="post">
a <input type="text" name="wsp_a" <?php echo 'value="'.wsp_value(true,false,false).'"';?> />
b <input type="text" name="wsp_b" <?php echo 'value="'.wsp_value(false,true,false).'"';?> />
c <input type="text" name="wsp_c" <?php echo 'value="'.wsp_value(false,false,true).'"';?> />
<input type="submit" name="przycisk" value="Oblicz pierwiastki trójmianu kwadratowego" />
</form>
<br />
Trójmian kwadratowy ax<sup>2</sup> + bx + c = 0
<?php
if (isset($_POST['przycisk']))//jeżeli wcisnęliśmy przycisk
{
//jeżeli użytkownik wpisał liczby
if (is_numeric($_POST['wsp_a']) && is_numeric($_POST['wsp_b']) && is_numeric($_POST['wsp_c']))
{
$a=$_POST['wsp_a'];//odbieramy pola formularza
$b=$_POST['wsp_b'];
$c=$_POST['wsp_c'];
$delta=$b*$b-4*$a*$c;//to już czysta matematyka
if ($delta>0)
{
$x1=(-$b-sqrt($delta))/2*$a;//sqrt() pierwiastek kwadratowy
$x2=(-$b+sqrt($delta))/2*$a;
echo ' posiada dwa pierwiastki x1 = '.$x1.', x2 = '.$x2;
}
else if ($delta==0)
{
$x=-$b/2*$a;
echo ' posiada jeden pierwiastek x = '.$x;
}
else echo ' nie posiada pierwiastków';
}
else echo ' ma błędne współczynniki!';
}
?>
</body>
</html>
Jeżeli zapomniałeś jak przygotować i gdzie zapisywać pliki testowe: