2024. szeptember 4., szerda

13 backend - 3. Alapvető vezérlési szerkezetek: If-else, switch-case, logikai operátorok

 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 (&& vagy and): Két feltétel közül mindkettőnek igaznak kell lennie.
  • VAGY (|| vagy or): 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

<<< szintaxis

 A <<< szintaxist a PHP-ban "heredoc" vagy "nowdoc" szintaxisnak nevezzük. Ez nem pontosan olyan, mint a Jav...