Az email küldés "forgatókönyvét" (ha minden adat meg van adva, folytathatod a küldést) az if utasítással fordíthatjuk PHP-kóddá.
Az if utasítás ara szolgál, hogy döntéseket hozzunk.
Az if utasítás 3 részből áll
- az if kulcsszó
- feltétel
- művelet
Nézzünk egy példát:
if(5 == 6)
{
echo "Kiírandó szöveg";
}
Most pedig mennyünk sorjában.
- az if az utasítás kezdetét jelzi
- a feltétel ellenőrzi, hogy 5 egyenlő e 6-tal. (temészetesen nem)
- ha a feltétel IGAZ, akkor teljesül a művelet (kiírja, hogy Kiírandó szöveg... nem írja ki, mert 5 != 6)
A feltétel mindig IGAZ vagy HAMIS értéket ad. Ez lehet változó, függvényhívás de összehasonlítás is (lsd. előző lecke).
Tehát:
HA a feltétel igaz
AKKOR végezd el a műveletet
Az if bármilyen összehasonlítást tud vizsgálni. Tehát nem csak egyenlőséget (pl. nagyobb, kisebb mint, nagyobbegyenlő, kisebbegyenlő, nemegyenlő...).
Ha például azt szeretnénk ellenőrizni, hogy a $string változónk üres-e azt jelenlegi tudásunk szerint így tennénk meg:
if($string == "")
{
művelet...
}
De ez nem valami elegáns megoldás.
A PHP-nek van egy csomó beépített függvénye (a függvény leegyszerűsítve egy előre megírt kód). Ilyen például az isset() függvény. Ez azt vizsgálja, hogy a változó kapott e már értéket.
Például:
$x;
$y;
$y = 5;
if(isset($y)){
echo "A változónak van értéke";
}
Tehát akkor ad vissza TRUE értéket, ha a változó deklarálva van és ÉRTÉKE is van.
A másik számunkra érdekes függvény az empty(). Ez pedig azt vizsgálja, hogy a stringnek üres értéke van e.
Például:
$x;
$y;
$y = "";
if(isset($y)){
echo "A változó üres karakterlánc";
}
Tehát akkor ad vissza TRUE értéket, ha a változó értéke (karakterláncoknál) "", NULL, 0 vagy false.
TEHÁT az isset() azt vizsgálja, hogy a változó létezik e, az empty() pedig azt, hogy tárol e valamilyen értéket.
Az már megvan, hogy mi van akkor, ha teljesül a feltétel. De hogyan adhatok meg műveletet, ha a feltétel nem teljesül?
Erre való az else...
Az elsse logikája valahogy így néz ki:
HA az utasítás teljesül
AKKOR hajtsa végre a műveletet
AMÚGY írjon ki hibaüzenetet
Tehát egy próbakód:
if(5 == 6)
{
echo "Öt egyenlő hattal";
}
else
{
echo "Öt nem egyenlő hattal";
}
Az else-nek nem kell feltétel, mert akkor hajtódik végre, ha a másik feltétel nem teljesül.
Ha több feltételünk is van, akkor az elseif utasítást használjuk
HA a feltétel teljesül
AKKOR hajtsa végre az utasítást
HA az előző feltétel nem teljesült, akkor vizsgálja meg ezt a feltételt
MAJD hajtsa végre az utasításokat
Próbakód:
$nev = "József";
if($nev == "Antal")
{
echo "Szevusz Antal";
}
elseif ($nev == "Pista")
{
echo "Szervusz Pista";
}
else
{
echo "Szervusz Józsi";
}
Az elseifnek kell feltétel.
A negyedik elágazástípusunk a switch elágazás. Ez arra való, hogy több utasításból egyet hajtsunk végre.
HA az érték 0
AKKOR hajtsd végre ezt az utasítást
HA az érték 1
AKKOR hajtsd végre ezt az utasítást
HA az érték 2
AKKOR hajtsd végre ezt az utasítást
Próbakód:
$x = 1;
switch ($x)
{
case 1:
echo "A szám 1";
break;
case 2:
echo "A szám 2";
break;
case 3:
echo "A szám 3";
break;
default:
exho "Nem tudom milyen szám";
}
A switch után zárojelben a vizsgálandó változót adom meg.
Utána minden egyes case egy "esetet" vizsgál. Tehát case 1 azt jelenti, hogy ha a vizsgált változó 1, akkor... A kettőspont után a végrehajtandó műveletek, majd a break; segítségével jelzem, hogy itt a vége annak az esetnek. A default ág akkor hajtódik végre, ha egyik eset sem teljesül.
A következő leckében a ciklusokkal ismerkedünk meg.
Nincsenek megjegyzések:
Megjegyzés küldése