hu en sv en hu it hu en hu de hu ja hu hu hu hu hu hu hu hu de hu hu hu hu hu hu hu hu en hu hu hu hu hu hu ca sv fr es hu hu hu hu hu hu hu hu hbs_lat hu de hu en hu en hu pl hu fr hu en hu hu hu hu hu hu hu hu hu hu hu hu hu cs en hu hu hu hu hu hu hu hu cs en hu hu hu cs hu hu hu hu hu hu hu hu hu hu hu hu cs en hu hu hu hu hu hu cs hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu cs en hu hu hu cs en hu hu hu hu hu hu hu hu cs en hu hu hu hu hu hu hu hu hu hu cs en hu ceb hu hu hu hu hu cs en hu ceb hu hu cs en hu en hu hu hu hu hu hu hu hu cs hu hu hu hu hu hu hu hu es es es tr en hu hu hu hu hu hu hu hu hu fr hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu hu en hu it hu en hu de hu ja hu hu hu hu hu es es es tr en hu
Függvények a PHP-ban (Paraméteres és paraméter nélküli függvények létrehozása, meghívása, hivatkozás szerinti paraméterátadás, típusmegfeleltetés, alapértelmezett érték) - WEBiskola
Weboldalszerkesztő (HTML, CSS, JS kódszerkesztő) HTML-színkód generátor (Hexadecimális, RGB, HSL színkód kereső)
Természetesen a PHP-ban is – csakúgy, mint a többi magas szintű programnyelvben – megtalálhatóak a függvények. Ebben a cikkben a beépített, illetve a felhasználó által létrehozott függvényekről lesz szó PHP nyelv alatt. Bemutatjuk, hogy hogyan készíthetsz paraméteres, illetve paraméter nélküli függvényeket és azt hogyan hívhatod meg őket. Továbbá lesz szó a szigorú típusmegfeleltetésről, a függvény alapértelmezett értékének beállításáról és a hivatkozás szerinti értékátadásról.
A programozásban függvénynek nevezzük egy nagyobb program, apróbb, általában egy konkrét feladatot ellátó, a program többi részétől független kódrészletet. Ez a kódrészlet többször felhasználható, a konkrét kódrészletet ismétlődése nélkül. Ebből kifolyólag azokat a kódrészleteket is kiszervezzük függvényekbe, amelyeket egy program futása során többször felhasználunk.
Hasonló fogalmak, ám gyakran ekvivalensként kezeljük a függvény kifejezéssel az alábbiakat is:
Alapvetően kétfajta függvénytípust különböztetünk meg PHP-ban:
A beépített PHP függvények olyan függvények, amelyeket alapértelmezetten (beépítve) tartalmaz a PHP. Azaz a létrehozásuk (megírásuk, leprogramozásuk) nélkül szabadon meghívhatóak a PHP szkriptből. Alapértelmezetten több, mint 1000 beépített PHP függvény található, melyek közül a legismertebbek, leggyakrabban használtak:
igaz értékkel tér vissza, ha a megadott kifejezés szám
gyököt von a megadott értékből
visszaadja a megadott érték szinuszát
visszaadja a dátumot egy tömbként
visszaadja egy szám abszolút értékét
A felhasználó által létrehozott függvények olyan függvények, amelyeket a PHP nem tartalmaz beépítetten, azaz sajátkezűleg nekünk (a felhasználónak) kell leprogramozni. (Vagy tartalmaz a PHP, de mi mégis inkább leprogramozzunk magunknak.)
Lentebb bemutatjuk azt, hogy hogyan hozhatunk létre saját függvényeket, illetve azt, hogy hogyan használhatjuk fel, azaz hogyan hívhatjuk meg őket.
Most, hogy tisztáztuk, hogy mi is az a felhasználó által létrehozott függvény, itt az ideje, hogy megmutassuk, hogyan tudunk egy saját függvényt létrehozni a PHP-ban.
Először meg kell adnunk a “function” kulcsszót, amit a függvény neve követ egy nyitó és záró zárójelpárral. A nyitó kapcsoszárójel (“{“) jelzi, hogy honnan indul a függvényhez tartozó utasításblokk, majd a záró kapcsoszárójel (“}”) jelzi, hogy hol ér véget.
Fontos, hogy a függvény nevének betűvel vagy alsóvonással kell kezdődnie!
A függvények neve a változókéval szemben nem kis- és nagybetűérzékeny. Szóval a “fuggveny” és a “FUGGVENY” ugyanazt a függvényt takarja.
Mindig beszédes elnevezéseket adjunk a függvényeinknek, azaz próbáljuk leírni vele, hogy mit is csinál az adott függvény.
Code language: HTML, XML (xml)
A fenti példában létrehoztuk életünk első függvényét, melynek a neve “szovegKiiratas()”. Ez az elnevezés eleget tesz a fent említett igénynek, mely szerint beszédesen, a függvény funkcióját leíró névvel kell ellátnunk a függvényeinket. A függvény annyit csinál, hogy kiírja a képernyőre, hogy “Ez az első függvényünk.”. Az eredményét azért nem mutatjuk meg, mert a függvény létrehozásnak nincs szemmel látható eredménye. Ha szeretnénk, hogy látszódjon az eredménye, akkor meg kell hívnunk a függvényünket.
Fentebb említettük, hogy az elkészített függvény alapvetően nem fut le, így nincs szemmel látható eredménye. Ha szeretnénk az elkészített függvény eredményét megjelentetni, akkor meg kell azt hívnunk.
FÜGGVÉNYNÉV(); Code language: PHP (php)
A meghíváshoz csak annyira van szükségünk, hogy megadjuk a már létrehozott függvény nevét két zárójellel. Ahol meghívjuk a függvényt, a függvény ott fog lefutni. Azaz, ha egy HTML oldalon belül hívjuk meg, akkor figyelnünk kell rá, hogy milyen elemek között tesszük meg.
A fenti példánál maradva, ha az oldal tetejére szeretnénk kiíratni a szöveget, akkor nem hívhatjuk meg az oldal alján.
Első példa függvény meghívására PHP-ban:
Code language: HTML, XML (xml)
Ez az első függvényünk.
Második példa függvény meghívására PHP-ban:
Első szöveg     Második szöveg      Code language: HTML, XML (xml)
Ez az első függvényünk.
A második példáról írtunk fentebb, hogy nagyon fontos a függvény meghívásának helye. Jelen példában a függvényt a két   tag között hívtuk meg, ezért a függvény eredménye a két   tag közé íródott be. Ha az első   elem előtt hívtuk volna meg, akkor az “Első szöveg” előtt jelent volna meg az “Ez az első függvényünk.” felirat.
Paraméteres függvény létrehozása PHP-ban
Most, hogy megismerkedtünk a függvények létrehozásával, illetve meghívásával, utólag bevezetjük azt a fogalmat, hogy paraméter. A fent látható függvények mind paraméter nélküli függvények voltak. Most pedig megismerkedünk a paraméteres függvényekkel.
A paraméterek segítségével lehetőségünk van, hogy adatot adjunk át a függvénynek. Ezt az adatot a függvény felhasználhatja futása során. A függvénynek bármennyi paraméter átadható, ezt mindig a feladat határozza meg. A különböző paramétereket vesszővel (“,”) kell elválasztanunk egymástól.
function FÜGGVÉNYNÉV($PARAMÉTER1, $PARAMÉTER2 ...) { // függvény utasításai } Code language: PHP (php)
Példa paraméteres függvény létrehozására PHP-ban:
Code language: HTML, XML (xml)
A paraméteres függvény sem fut le alapértelmezetten, így meg kell hívnunk, hogy lássuk az eredményét.
Paraméteres függvény meghívása a PHP-ban
FÜGGVÉNYNÉV($PARAMÉTER1, PARAMÉTER2 ...); Code language: PHP (php)
A paraméteres függvény meghívása sem tér el a paraméter nélkülitől, csak annyi változik, hogy itt meg kell adnunk az átadadndó paramétereket.
Példa paraméteres függvény meghívására PHP-ban:
"; // kiíratunk egy  -t, hogy a két szöveg ne csússzon egybe $valtozo = "Ez egy változó."; szovegKiiratas($valtozo); // a függvénynek egy változót adunk át ?> Code language: HTML, XML (xml)
Ez egy PHP függvény.
A fenti példánkban kétszer hívtuk meg a “szovegKiiratas” függvényt, melynek először egy sima szöveget adtunk át paraméterként, másodszor pedig egy változót adtunk át, melynek előtte adtunk értéket.
A változó meghívásakor teljesen mindegy, hogy milyen névvel adjunk át a változót a függvénynek, de a függvényen belül csak úgy hivatkozhatunk rá, ahogy a függvény létrehozásakor elneveztük a paramétert.
Például a fenti példában a függvény létrehozásakor a paramétert “$szoveg”-nek neveztem el, így a függvényen belül csak a “$szoveg”-re hivatkozhatok. A meghívásakor az átadott függvény nevének nem kell “$szoveg”-nek lennie. Bármilyen függvénynévvel átadhatjuk, mi most “$valtozo”-ként adtuk át. Fontos, hogy az átadott változó neve, a függvényen belül már “$szoveg”-ként fog élni, azaz ott nem hivatkozhatunk a “$valtozo”-ra.
A PHP egy lazán típusos nyelv, ami azt jelenti, hogy egyes esetekben, például amikor változót hozunk létre, akkor nem kell megadnunk, hogy az adott változó milyen típusú lesz. A PHP automatikusan érzékeli és hozzárendel egy típust a változóhoz, anélkül, hogy mi meghatároznánk azt. Emiatt nyugodtan megtehetjük, hogy egy int-hez hozzáadunk egy string-et, ez egyáltalán nem fog problémát okozni.
A PHP 7 megjelenésekor bevezették a típus deklarációt is, ez lehetőséget ad számunkra, hogy meghatározzuk, hogy milyen típust várunk a függvényünk paraméterei számára. Ha a paraméterek nem felelnek meg az általunk vártaknak, akkor a PHP hibát fog dobni.
declare(strict_types=1); function FÜGGVÉNYNÉV(TÍPUS $PARAMÉTER1, TÍPUS $PARAMÉTER2 ...) { // függvény utasításai } Code language: PHP (php)
Először is szükségünk van arra, hogy megadjuk a következőt: ,, declare(strict_types=1); “. Ez fogja kikényszeríteni a szigorú típusmegfeleltetést. Ezt csak egyetlen egyszer kell megadni a kód során, nem kell minden egyes függvény esetében újból és újból megadnunk. Továbbá eddigi függvény deklaráció annyival egészül ki, hogy a paraméterek elé megadjuk, hogy milyen típusút adatot várunk a helyükre.
Egy kis segítség, hogy milyen típusok vannak a PHP-ban:
Első példa szigorú típusmegfeleltetésre:
Code language: HTML, XML (xml)
Második példa szigorú típusmegfeleltetésre:
Code language: HTML, XML (xml)
Fatal error: Uncaught TypeError: szovegKiiratas(): Argument #1 ($szoveg) must be of type string, int given…
Láthatjuk, hogy a fenti példa gond nélkül lefut, hiszen olyan típusú paramétert adtunk át a függvénynek, amilyet a függvény várt, míg az alsó példa “Fatal error”-t dob, mert nem megfelelő típusú paramétert adtunk át a változónak.
PHP függvény alapértelmezett érték (alapérték)
Lehetőségünk van arra is, hogy alapértelmezett értéket állítsunk be a függvényeink számára, ez akkor lehet hasznos, amikor a függvényt paraméter nélkül hívják meg. Beállíthatjuk, hogy a függvény ilyen esetekben úgy fusson le, mintha paraméterrel hívták volna meg. De mivel valójában nincs átadott paraméter, így be kell állítanunk egy alapértelmezett értéket.
function FÜGGVÉNYNÉV($PARAMÉTER1 = ALAPÉRTÉK, $PARAMÉTER2 = ALAPÉRTÉK ...) { // függvény utasításai } Code language: PHP (php)
Példa függvény alapértelmezett értékére PHP-ban:
Code language: HTML, XML (xml)
A példában beállítottuk, hogy a $szoveg változónk alapértelmezett értéke a “PHP függvény” legyen, majd lentebb paraméter nélkül hívtuk meg a függvényt. Így a PHP kiolvasta a függvényben alapértékként definiált “PHP függvény” szöveget és úgy futott a program, mintha ezt adtuk volna át paraméterként a függvénynek.
Eddig olyan függvényeket készítettünk, amelyek szimplán kiírtak valamit a képernyőre, de lehetőségünk van arra is, hogy legyen visszatérési értékük. Ilyenkor nem írunk ki semmit a képernyőre, csak a függvény visszaad egy értéket, amivel aztán azt kezdünk, amit csak szeretnénk, felhasználhatjuk egy másik függvényben, elmenthetjük egy változóban stb.
function FÜGGVÉNYNÉV(OPCIONÁLIS.PARAMÉTEREK) { // függvény utasításai return ÉRTÉK; } Code language: JavaScript (javascript)
Természetesen készíthetünk paraméteres, illetve paraméter nélküli függvényeket is, mind a kettőnek lehet visszatérési értéke.
A függvény utasításai után szimplán meg kell adnunk a “return” kulcsszót, majd azt az értéket, amit szeretnénk visszaadni.
Példa visszatérési értékre PHP-ban:
Code language: HTML, XML (xml)
5 + 10 = 15
PHP értékvisszaadás (return) típus meghatározással
Természetesen arra is van lehetőségünk, hogy a függvény visszatérési értékére tegyünk szigorú típusmegfeleltetést.
declare(strict_types=1); function FÜGGVÉNYNÉV(OPCIONÁLIS.PARAMÉTEREK) : VISSZATÉRÉSI.TÍPUS { // függvény utasításai return ÉRTÉK; } Code language: PHP (php)
Első példa visszatérési érték típusmegfeleltetésére PHP-ban:
Code language: HTML, XML (xml)
5 + 10 = 15
Beállítottuk, hogy a visszatérési érték csak egész szám lehet, így a PHP kód gond nélkül lefut, hiszen két egész számot adunk össze, melynek az összege egy egész szám.
Második példa visszatérési érték típusmegfeleltetésére PHP-ban:
Code language: HTML, XML (xml)
Fatal error: Uncaught TypeError: osztas(): Return value must be of type int, float returned…
A második példa esetében hibába futunk, hiszen a két bemenő érték valóban egész szám, de a visszatérési érték nem az.
PHP paraméterátadás hivatkozásként (mutató)
A PHP-ban lehetőségünk van paraméterátadásra hivatkozásként is. (Vannak olyan nyelvek, ahol mutatóknak, pointereknek nevezik ezt.) Az eddigi függvények esetében az átadott paraméterekkel végzett műveletek csak a függvényen belül voltak érvényesek, és nem befolyásolták az eredeti függvényen kívüli értékét a változónak.
Ha egy paramétert hivatkozásként adunk át, akkor nem egy, csak a függvényben létező változóval fogunk dolgozni, hanem azzal a változóval, amely a függvényen kívül is létezik.
function FÜGGVÉNYNÉV(&$PARAMÉTER1 ...) { // utasítások } Code language: PHP (php)
A változónév elé bebiggyesztünk egy és, and (“&”) jelet, semmi más nem változik.
Példa PHP paraméterátadásra hivatkozásként:
"; // kiíratuk a két változó értékét a függvény meghívása előtt hivatkozas($valtozo1, $valtozo2); // meghívjuk a függvényt echo "Utána: $valtozo1 és $valtozo2"; //kiíratjuk a két változó értékét a függvény meghívása után function hivatkozas($szam1, &$szam2) { // két paraméterünk van, az első egy sima paraméter, a második egy hivatkozásos // módosítjuk a két változó értékét $szam1=555555; $szam2=101010; } ?> Code language: HTML, XML (xml)
Előtte: 5 és 10
Utána: 5 és 101010
A fenti példában azért van két változónk, hogy szemléltetni tudjuk, hogyan viselkedik alapértelmezetten egy paraméter és akkor, amikor csak hivatkozunk rá. Az első paraméter értéke csak a függvényben él, ezért hiába módosítjuk a függvény futása során, a függvényen kívül az nem fog élni és módosulni, mert az csak a függvényben élő változó. Azonban a második paraméternél hivatkozást használunk, így valójában nem az értékét adjuk át, hanem annak a változónak a helyét. Így ha a függvényben átírjuk az értékét, akkor valójában nem a függvényben fog megváltozni az értéke, hanem ott ahol létrehoztuk. Így a függvény futása után is megmarad a módosított értéke.
Ha hasznos volt számodra, akkor kérlek oszd meg másokkal is, hogy ezzel támogass minket!
JavaScript függvények, eljárások, metódusok (JS függvény fogalma, létrehozása, meghívása)
PHP alapok (PHP webprogramozás alapjai kezdőknek)
A legjobb PHP kódszerkesztő programok, IDE-k listája
Műveletek string-ekkel a JavaScript-ben (JS string metódusok, függvények, tulajdonságok)
#függvények #metódusok #PHP #PHP függvények #PHP programozás #php tananyag #php tanfolyam #webfejlesztés #webprogramozás alapjai #webprogramozás alapok
Mi az a PHP? A PHP fogalma és bemutatása
PHP, Apache és XAMPP letöltése, telepítése
Hogyan és hova írjunk PHP kódot?
Komment, megjegyzés hozzáfűzése PHP kódhoz
PHP kiíratások, azaz echo és print + short open tag beállítása, használata
A legjobb PHP kódszerkesztő programok, IDE-k listája
PHP változók és konstansok fogalma, szintaxisa + példa létrehozásra, módosításra, lekérdezésre
Műveletek tömbökkel PHP-ban (Tömb létrehozása, elemek hozzáadása, felülírása, törlése, tömb hosszának megállapítása, elemeinek kiíratása)
Ciklusok a PHP-ban (for, while, do-while, foreach iterációk + break és continue használata)
Elágazások a PHP-ban (if és switch feltételes utasítás)
PHP alapok (PHP webprogramozás alapjai kezdőknek)
Operátorok a PHP-ban (Aritmetikai, értékadó, értéknövelő, értékcsökkentő, összehasonlító, logikai, feltételes értékadó, tömb- és szövegoperátorok)
Függvények a PHP-ban (Paraméteres és paraméter nélküli függvények létrehozása, meghívása, hivatkozás szerinti paraméterátadás, típusmegfeleltetés, alapértelmezett érték)
MySQL adatbázis-műveletek a PHP-ban (adatbázis-kapcsolat létrehozása, bezárása, tábla létrehozása, rekord hozzáadása, törlése, módosítása, lekérdezések írása)
Session, azaz munkamenetkezelés PHP-ban (Munkamenet indítása, session változók létrehozása, munkamenet megszűntetése)
Sütik kezelése PHP-ban (cookie létrehozása, módosítása, lekérdezése, törlése)
Űrlapkezelés a PHP-ban POST és GET metódus segítségével
SQL és XSS injekció elleni védelem PHP-ban (htmlspecialchars, real_escape_string és előkészített utasítások használata)
PHP titkosítás, avagy hogyan védjük a felhasználók adatait (password_hash() és password_verify() PHP függvények)
PHP include és require utasítások (+ include_once és require_once)
Fájlkezelés a PHP-ban (Fájl létrehozása, megnyitása, írása, törlése, lezárása)
PHP isset() függvény használata
PHP String függvények (Szöveg karaktereinek, szavainak megszámlálása, szöveg keresése, cseréje, nagy-, kisbetűssé alakítása, visszafele kiíratása)
PHP Math függvények (Matematikai függvények a PHP-ban) [abszolút érték, számrendszerek közötti váltás, szögfüggvények, radián és fok közötti átváltás, számok kerekítése, gyökvonás, logaritmus, pi]
Véletlenszerű (random) szám generálása PHP-ban (rand() és mt_rand() függvények használata)
Csatlakozás, kapcsolódás MySQL adatbázishoz PHP-ban (MySQLi objektumorientált, PDO és MySQLi procedurális módszerrel)
MySQL adatbáziskapcsolat lezárása PHP-ban (MySQLi objektumorientált, PDO és MySQLi procedurális módszerrel)
Tábla létrehozása MySQL adatbázisban PHP nyelv alatt (MySQLi objektumorientált, PDO és MySQLi procedurális megoldással)
Rekord hozzáadása MySQL adatbázis táblájához PHP nyelvben (MySQLi objektumorientált, PDO és MySQLi procedurális módszerrel)
Rekord módosítása MySQL adatbázis táblájában PHP nyelv alatt (MySQLi objektumorientált, PDO és MySQLi procedurális módszerrel)
Rekord törlése MySQL adatbázis táblából PHP nyelvben (MySQLi objektumorientált, PDO és MySQLi procedurális módszerrel)
MySQL lekérdezés készítése PHP-ban (MySQLi objektumorientált, PDO és MySQLi procedurális módszerrel)
A legjobb PHP keretrendszerek (13 PHP framework)