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
ifblokk ellenőrzi, hogy a$szampáros-e ($szam % 2 == 0). - Ha a
feltétel igaz, kiírja, hogy páros szám; ha nem, az
elseblokk 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
$resultváltozó értéke:$szam páros szám. - Ha a
feltétel hamis, a
$resultváltozó értéke:$szam páratlan szám. - Az
echoutasí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
$categoryvá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
echoutasí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
switchszerkezet a$napváltozó értékét ellenőrzi. - Ha a
$napértéke "kedd", a megfelelőcaseblokk hajtódik végre, és kiírja, hogy ma kedd van. - Ha egyik
eset sem teljesül, a
defaultblokk 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
ifblokk ellenőrzi, hogy a$szamnagyobb-e 10-nél és a$kor18 vagy annál több-e. Ha mindkét feltétel igaz, a megfelelő üzenet jelenik meg. - Az
elseifblokk ellenőrzi, hogy legalább az egyik feltétel igaz-e ($szam > 10vagy$kor >= 18). - Az
elseblokk 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