A PHP programozás során a vezérlési szerkezetek segítségével irányíthatjuk a
program futását. Ezek a szerkezetek lehetővé teszik, hogy különböző feltételek
alapján különböző kódblokkokat hajtsunk végre. A leggyakrabban használt
vezérlési szerkezetek az if-else
,
a switch-case
, valamint a
logikai operátorok. Az alábbiakban részletesen bemutatjuk ezeket a
szerkezeteket mintapéldákkal, valamint önállóan megoldandó feladatokat is
adunk.
3.1 If-else
Az if-else
szerkezet
lehetővé teszi, hogy a program különböző ágakat hajtson végre a megadott
feltételek alapján.
Szerkezet
if (feltétel) {
// Ha a feltétel igaz, ez a blokk végrehajtódik
}
else {
// Ha a feltétel hamis, ez a blokk végrehajtódik
}
Példa
<?php
$szam = 8;
if (
$szam % 2 == 0) {
echo
"$szam páros szám.<br>";
}
else {
echo
"$szam páratlan szám.<br>";
}
?>
- Az
if
blokk ellenőrzi, hogy a$szam
páros-e ($szam % 2 == 0
). - Ha a
feltétel igaz, kiírja, hogy páros szám; ha nem, az
else
blokk kiírja, hogy páratlan szám.
A ternáris (vagy más néven conditional) operátor egy rövidített formája az if-else
szerkezetnek, amelyet akkor
használunk, ha csak egy egyszerű feltételt szeretnénk ellenőrizni és két
értéket akarunk visszaadni attól függően, hogy a feltétel igaz vagy hamis.
3.1.1. Ternáris
Operátor Szerkezete
A ternáris operátor szerkezete a következő:
feltétel ? érték_ha_igaz : érték_ha_hamis;
feltétel
: Az a kifejezés, amelyet ellenőrizni akarunk.érték_ha_igaz
: Az az érték, amelyet visszaadunk, ha a feltétel igaz.érték_ha_hamis
: Az az érték, amelyet visszaadunk, ha a feltétel hamis.
1. Egyszerű Példa
Az alábbi példában ellenőrizzük, hogy egy szám páros-e, és a ternáris
operátort használjuk az eredmény kiíratásához.
<?php
$szam = 7;
// Ternáris operátor használata
$result = (
$szam % 2 == 0) ?
"$szam páros szám." :
"$szam páratlan szám.";
echo
$result .
"<br>";
?>
- A
feltétel:
$szam % 2 == 0
- Ha a
feltétel igaz, a
$result
változó értéke:$szam páros szám.
- Ha a
feltétel hamis, a
$result
változó értéke:$szam páratlan szám.
- Az
echo
utasítással kiíratjuk az eredményt.
Példa, ahol a ternáris operátort használjuk az életkor osztályozására:
<?php
$age = 25;
// Ternáris operátor használata az életkor osztályozására
$category = (
$age < 18) ?
"Fiatalkorú" : ((
$age <= 65) ?
"Felnőtt" :
"Nyugdíjas");
echo
"A személy kora: $age év. Kategória: $category<br>";
?>
- A
feltétel:
$age < 18
- Ha a
feltétel igaz, a
$category
változó értéke:"Fiatalkorú"
. - Ha a
feltétel hamis, további feltételt ellenőrzünk:
($age <= 65)
- Ha az új
feltétel igaz, a
$category
értéke:"Felnőtt"
. - Ha az új
feltétel is hamis, a
$category
értéke:"Nyugdíjas"
. - Az
echo
utasítással kiíratjuk a személy életkorát és kategóriáját.
3.2 Switch-case
A switch-case
szerkezet
hasznos, amikor több lehetséges értéket szeretnénk ellenőrizni egy változó
esetében.
Szerkezet
switch (kifejezés) {
case érték1:
// Ha a kifejezés értéke egyenlő az érték1-tel
break;
case érték2:
// Ha a kifejezés értéke egyenlő az érték2-tel
break;
default:
// Ha a kifejezés értéke egyik esetnek sem felel meg
}
Példa
<?php
$nap =
"kedd";
switch (
$nap) {
case
"hétfő":
echo
"Ma hétfő van.<br>";
break;
case
"kedd":
echo
"Ma kedd van.<br>";
break;
case
"szerda":
echo
"Ma szerda van.<br>";
break;
default:
echo
"Ma nem hétfő, kedd, vagy szerda.<br>";
}
?>
- A
switch
szerkezet a$nap
változó értékét ellenőrzi. - Ha a
$nap
értéke "kedd", a megfelelőcase
blokk hajtódik végre, és kiírja, hogy ma kedd van. - Ha egyik
eset sem teljesül, a
default
blokk fut le.
3.3 Logikai Operátorok
A logikai operátorok segítségével több feltételt kombinálhatunk.
Logikai Operátorok
- ÉS (
&&
vagyand
): Két feltétel közül mindkettőnek igaznak kell lennie. - VAGY (
||
vagyor
): Két feltétel közül legalább az egyiknek igaznak kell lennie. - NEGÁCIÓ (
!
): Feltétel tagadása.
Példa
<?php
$szam = 15;
$kor = 18;
if (
$szam > 10 &&
$kor >= 18) {
echo
"A szám nagyobb mint 10 és a kor 18 vagy annál több.<br>";
}
elseif (
$szam > 10 ||
$kor >= 18) {
echo
"A szám nagyobb mint 10 vagy a kor 18 vagy annál több.<br>";
}
else {
echo
"A feltételek egyike sem teljesül.<br>";
}
?>
Magyarázat:
- Az
if
blokk ellenőrzi, hogy a$szam
nagyobb-e 10-nél és a$kor
18 vagy annál több-e. Ha mindkét feltétel igaz, a megfelelő üzenet jelenik meg. - Az
elseif
blokk ellenőrzi, hogy legalább az egyik feltétel igaz-e ($szam > 10
vagy$kor >= 18
). - Az
else
blokk akkor fut le, ha egyik feltétel sem teljesül.
Önállóan Megoldandó Feladatok
1. Feltételes
Kiírás: Készíts egy PHP szkriptet, amely bekéri a felhasználótól az
életkorát. A program írja ki, hogy a felhasználó fiatalkorú (18 év alatti),
felnőtt (18 és 65 év között), vagy nyugdíjas (65 év felett).
2. Hét
Napja: Írj egy PHP szkriptet, amely a hét napját megjeleníti (például
"hétfő", "kedd", stb.), és az adott nap alapján írja ki,
hogy az a hét eleje, közepe, vagy vége. Használj switch-case
szerkezetet a napok kezelésére.
3. Számellenőrzés: Készíts egy PHP szkriptet, amely ellenőrzi, hogy egy felhasználó által megadott szám páros-e, és hogy osztható-e 5-tel. Ha mindkét feltétel teljesül, írd ki, hogy a szám páros és osztható 5-tel; ha csak az egyik, írd ki annak megfelelő üzenetet; ha egyik sem, akkor is adj vissza egy üzenetet.
4. Komplex
Logikai Feltételek: Készíts egy PHP szkriptet, amely ellenőrzi, hogy
egy felhasználó által megadott szám pozitív, és egy másik szám negatív-e,
valamint hogy az első szám nagyobb-e mint 10 vagy a második szám kisebb-e mint
-5. Használj &&
, ||
, és !
operátorokat a feltételek kombinálására, és írd ki az
eredményeket.
5. Feltételes Kiírás Ternáris Operátorral: Készíts egy PHP szkriptet, amely ellenőrzi, hogy egy felhasználó által megadott szám nagyobb-e mint 100. Használj ternáris operátort az üzenet kiírásához, amely jelzi, hogy a szám nagyobb mint 100 vagy sem.
6. Számkategorizálás: Készíts egy PHP szkriptet, amely egy felhasználó által megadott szám alapján eldönti, hogy a szám negatív, nulla vagy pozitív. Használj ternáris operátort az eredmény kiírásához.
7. Diákok Érdemjegyének Kiértékelése: Írj egy PHP szkriptet, amely egy diák érdemjegyét (például 0-tól 100-ig) kategorizálja az alábbiak szerint: 0-49 = "Elégtelen", 50-69 = "Közepes", 70-89 = "Jó", 90-100 = "Kiváló". Használj ternáris operátort az érdemjegy kategorizálásához.
8. Havi Költségvetés: Készíts egy PHP szkriptet, amely ellenőrzi, hogy egy felhasználó havi költségvetése ($koltsegvetes) elegendő-e a költségek ($koltseg) fedezésére. Használj ternáris operátort az üzenet kiírásához, amely jelzi, hogy a költségvetés elegendő vagy sem.
Nincsenek megjegyzések:
Megjegyzés küldése