Általános tudnivalók
A függvények olyan jól elkülönülő egységek, amelyek valamilyen célirányos műveletet végeznek. A függvényt többször meghívhatjuk, amolyan célszerszámként is felfogható, amellyel az adott típusú műveletet bármikor elvégezhetjük. A függvényben más függvényeket is meghívhatunk, akár önmagát is!
A függvény szerkezete
A függvényeket function kulcsszóval indítjuk, amely után megadjuk a nevét, zárójelben felsoroljuk a függvény bemeneti értékeit vesszővel elválasztva, majd kapcsos zárójelek között a függvényen belüli kódot. A függvény az elvégzett műveletből származó értékkel visszatér a return parancs segítségével. A függvényen belül szereplő változók lokálisak, így kívülről nem lehet őket elérni (a függvényen kívüli változókat viszont a global utasítással emelhetjük be a függvénybe).
function osszead($elso_szam, $masodik_szam) {
global $kulso_valtozo_1, $kulso_valtozo_2;
$eredmeny = $elso_szam + $masodik_szam + $kulso_valtozo_1 + $kulso_valtozo_2;
return $eredmeny;
}
Lássuk a fenti függvényt működés közben:
--------------------
<?php
$sz1 = 11;
$sz2 = 22;
$sz3 = 33;
$eredmeny = osszead($sz1, $sz2);
echo $eredmeny;
function osszead($elso_szam, $masodik_szam) {
global $sz3; // Beemeljük a változót
$eredmeny = $elso_szam + $masodik_szam + $sz3; // Művelet...
return $eredmeny; // Visszatérünk az eredménnyel
}
?>
--------------------
Felhasználói függvények
Felhasználói függvénynek hívjuk azokat a függvényeket, amelyeket mi magunk hozunk létre a fenti példához hasonlóan. Amire vigyázni kell, hogy a függvényünk elnevezése ne okozzon ütközést se már létező, beépített függvényekkel, se védett kulcsszavakkal. Ezek listáját a mindenkori dokumentációban találjuk meg. A függvény meglétének vizsgálatát a function_exists('fuggveny_neve') beépített függvénnyel végezhetjük el. A visszatérő érték logikai.
Beépített függvények
A beépített függvényeket a PHP telepítés szállítja. Aszerint, hogy milyen modulokkal telepítjük, több-kevesebb beépített függvényt érhetünk el. A teljes dokumentációt a http://php.net oldalon találhatjuk. A modulokat ki-be kapcsolhatjuk a rendszerben, amennyiben modulárisan fordították az általunk használt példányt. Ezen feladatok elvégzése rendszergazdai feladat, több tematikus oldalt is találunk a neten, továbbá például a http://hup.hu oldalon szakemberek is segítenek, ha elakadunk.
Változó függvények
A változó függvény fogalma azt jelenti, hogy ha egy változót zárójelek követnek, akkor a PHP olyan nevű függvényt keres és futtat, mint a változó értéke:
--------------------
<?php
function osszead($elso_szam, $masodik_szam) {
$eredmeny = $elso_szam + $masodik_szam;
return $eredmeny;
}
$fuggveny = 'osszead';
echo $fuggveny(12, 23); // lefuttatja az osszead függvényt
?>
--------------------
Anonim függvények
Az anonim függvények név nélküli függvények, az adott létrehozási helyen szokás használni, általában másik függvény visszatérő értékén végzett további műveletekre.
--------------------
<?php
$szia = function($nevem) {
echo "Szia $nevem!";
}; // figyeljük meg a pontosvesszőt!
$szia('Béla'); // Kiírja: Szia Béla!
?>
--------------------
-----------------------------------------------------------------------------------------------------
Feladatok
1. Hozzunk létre egy függvényt, amely két számot összeszoroz!
2. Hozzunk létre egy függvényt, amely üdvözli a felhasználót napszaknak megfelelően. A függvény bemenete legyen a név és a napszak megnevezése (reggel, napközben, este), a kimenete pedig szöveg. Tipp: használjunk switchet a függvényen belül!