Az alapoktól...

PHP kezdőknek

PHP kezdőknek

8. lecke - Vezérlő szerkezetek - if, else, elseif (else if), endif

2015. július 10. - Frantique

A programok egyszerűsítve úgy működnek, hogy a kapott, előállított vagy öröklött adatokat bizonyos feltételek alapján kiértékelnek, majd a kiértékelés eredménye függvényében valamit csinálnak ezekkel az adatokkal. Valójában a mindennapi életünk során folyamatosan apró programokat futtatunk a fejünkben - akkor is, ha nem veszünk róla tudomást. Például: "ha reggel van, felkelünk az ágyból". Egyszerű, magától értetődő eseményláncolat, mégis valójában ez egy program, amit végrehajtottunk. Hogy nézne ki ez PHP-ban?

--------------------

<?php
$felkeltem_az_agybol = false; // Még mindig az ágyban fekszem
$napszak = "reggel"; // A napszakot reggelre állítjuk

if ($napszak === "reggel") { // Ha a napszak értéke "reggel", akkor...
$felkeltem_az_agybol = true; // Felkeltem az ágyból!
}
var_dump(
$felkeltem_az_agybol); // Kiírja: bool(true)


?>

--------------------

A fenti példában láthatjuk a HA (if) elem szerkezetét és működését: az if szócska után a feltétel következik zárójelbe téve, majd kapcsos zárójelben ({ ... } ) az esemény, amely akkor következik be, ha a feltétel kiértékelése igaz. Egyszerűsítve így néz ki:

if (feltétel) {
következmény;
}

Nézzünk egy másik példát! "Ha éhes vagyok, eszem, ha szomjas, iszom, ha egyik sem, akkor sétálok!". Milyen változóink lesznek? Először kell egy állapot jelző, majd egy cselekvést leíró:

--------------------

<?php
$allapot = "éhes"; // Változtassuk "éhes", "szomjas", "bármi más" értékekre a tesztelés során!
$cselekves = NULL; // Még nem csinálunk semmit, csak előkészülünk!

if ($allapot === "éhes") {            // Ha igaz, hogy éhes vagyok...
        $cselekves = "eszem";         // eszem!
}  elseif ($allapot === "szomjas") {  // Ha igaz, hogy szomjas vagyok...
        $cselekves = "iszom";         // iszom!
} else {                              // bármi más esetben...
        $cselekves = "sétálok";       // sétálok!
}

echo "Ha $allapot vagyok, $cselekves!"; /* Felhasználva az előzőekben tanultakat, mondatot alkotunk a változók értékei segítségével!
Figyeljük meg az idézőjeleket is! */


?>

--------------------

Megjegyzés
A fenti szerkezetnek létezik egy másfajta felirata is, ahol az esemény kettőspont és endif; kifejezés közé esik, ami így néz ki:

if (feltétel):
        esemény;
elseif (másik feltétel):
        másik esemény;
else:
        egyéb esemény;
endif;

Mindkét változatot szabadon használhatjuk, tetszés szerint, a további tananyagokban viszont az első, kapcsos zárójeles változatot fogjuk preferálni egyrészt a C nyelvvel való azonosság miatt, másrészt, mert a zárójelpárok vizuálisan jobban körülhatárolják az egyes részeket. Az elseif utasítás C stílusban külön írva is helyes: 

if (feltétel) {
        esemény;
} else if (másik feltétel) {
        másik esemény;
} else {
        egyéb esemény;
}

Mivel a PHP nyelv a formázással szemben nem támaszt különös igényeket (szemben a Python nyelvvel például, ahol a behúzási szintek kötik össze az összetartozó részeket), a kapcsos zárójelek helye valamint a sorok behúzása egyéni ízlés kérdése. Akár egy sorba írva is használhatjuk, ha úgy akarjuk:

if (feltétel) { esemény; } elseif (másik feltétel) { másik esemény; } else { egyéb esemény; }

Programozás közben néha előfordulhatnak olyan röviden leírható szerkezetek, ahol olvashatóbb egy sorba írva, mint tagolva. Ez is egyéni stílus - esetleg csapatban dolgozva formázási előírás - kérdése csupán.

Tanácsok
Mivel elérkeztünk ahhoz a ponthoz, hogy immár működő és hasznos programocskát is el tudunk készíteni, tartsunk szem előtt pár fontos szabályt:

  1. Mindig tervezzük meg előre a programot, és építsük fel a logikai szerkezetet! Mondjuk el magyarul, hogy mit kell tennie a programnak. Ha feltétel - következtetés szóban működőképes, akkor nagy valószínűséggel program formájában is működni fog.
  2. Csak annyi változót használjunk, amennyi feltétlenül szükséges, és mindig hozzuk őket létre úgy, hogy kiindulóértékkel látjuk el. Sok bosszúságtól kíméljük meg magunkat!
  3. Legyünk következetesek a kód formázása során! Úgy írjuk meg, hogy bármelyik másik programozó is át tudja látni és fel tudja fogni a logikáját.
  4. Törekedjünk a kód tömörségére és átláthatóságára! Ne bonyolódjunk fölösleges kódrészletek megírásába, amelyek nem vezetnek sehová!
  5. Gondoljunk a bővíthetőségre! Úgy tervezzük meg a programunkat, hogy bármikor folytatni, bővíteni lehessen!

-----------------------------------------------------------------------------------------------------

Feladatok

1. Tamás 2 éves. Ha tudjuk, hogy 18 évesen lesz a törvény szerint nagykorú, addig viszont kiskorú, vizsgáljuk meg és írjuk ki, hogy most minek tekinti a törvény!

2. Írjunk egy programot, amely megvizsgálja, hogy egy nullánál nagyobb egész szám páros, vagy páratlan! (Emlékezzünk a maradékos osztás operátorra, valamint arra a szabályra, hogy egy szám páros, ha osztható kettővel!)

3. Írjunk egy programot, amely esernyőt ajánl, ha esik az eső, napernyőt, ha süt a nap, valamint kalapot más esetekre!

A bejegyzés trackback címe:

https://php-kezdoknek.blog.hu/api/trackback/id/tr247614842

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.
süti beállítások módosítása