Funkció php, tudásportálban, tudásportálban, Távoktatási
Az előadás tárgyalja: a fogalom funkciók, felhasználó által definiált függvények, függvényargumentumok, érvelés elhaladó érték és referenciaként az alapértelmezett érvek és értékek által visszaadott függvény (function return ()). Példa - létrehozása webes felületen a generációs HTML-formában.
Ez az előadás fogja vizsgálni létrehozását és használatát függvények PHP. Apropó „funkciók”, nincs szem előtt a meglévő funkciók PHP és csak a felhasználó által definiált függvény. Nézzük meg módjai meghatározzák az ilyen funkciókat, eljárásokat elhaladó érvek a használata érveket alapértelmezett értékeket, és a visszaadott értékek a funkciót.
Példaként, hozzon létre egy web-interfész generálni a HTML-formában. Azaz, a felhasználó kiválasztja, programozás nélkül, amely forma elemek létrehozása, valamint a jellemzők ezeket az elemeket, és a mi program létrehoz a kívánt formát.
Felhasználó által definiált függvények
Mi jellemzi? Ahhoz, hogy erre a kérdésre válaszolni, meg kell értenünk, hogy általában a függvények. A programozás, mint a matematika, a függvény egy leképezés érveit a sor értékeit. Ez a funkció az egyes értékrend az érvelés visszaküldi értékek a munkája eredményét. Miért van szükség egy funkciót, megpróbáljuk elmagyarázni egy példát. A klasszikus példája a funkció programozás - egy függvényt, amely kiszámítja faktoriálisának értéket. Vagyis, mi adja meg a számot, és visszatér hozzánk, hogy a faktoriális. Nincs szükség az egyes számot, amit szeretnénk, hogy a faktoriális, ismételje meg ugyanezt a kódot - egyszerűen hívja a funkciót egy érv ezt a számot.
függvény kiszámítására számos természeti
Ezért amikor akciókat hajtanak végre, ahol nyomon követhető a függőség néhány adatot, és ugyanabban az időben, akkor szükség lehet a azonos műveleteket hajtják végre, de a többi eredeti adatokat, célszerű használni a funkciók a mechanizmus - kibocsátására blokk akció függvényében a szervezetben. és az adatok megváltoztatása - például a paramétereit.
Hogyan működik egy függvényhívás? Jelzi, hogy a függvény neve zárójelben listához értékek a paraméterei, ha van ilyen:
Mikor hívhatjuk a funkciót? Úgy tűnik, egy furcsa kérdés. A funkció lehet hozzáférni után azt meghatározó, azaz a minden program az alábbi sorban funkció f_name () blokk. A PHP3, hogy tényleg így van. De PHP4 nincs ilyen követelmény. Az a helyzet, az értelmező feldolgozza a kapott kódot. Az egyetlen kivétel a függvény feltételesen (belső feltételes utasítások vagy más funkciók). Amikor a funkció határozza meg úgy, hogy meg kell előznie a meghatározása a hívására.
Példa 5.1. Függvényt meghatározó belsejében egy feltételes állítás
Ha a funkció határozza meg egyszer a program felülírja, vagy távolítsa el később, akkor nem. Annak ellenére, hogy a függvény nevek kis-és nagybetűk, akkor jobb, ha hívja a funkciót az azonos nevű, amit kaptak a definícióban.
Példa 5.2. Függvényt meghatározó egy függvényen belül
Nézzük az érveket funkciók, azok rendeltetését és használatát.
függvényargumentum
Minden funkció lehet, mint mondtuk, a lista az érveket. Ezekkel argumentumokat a függvény különböző információkat (például a szám értékét, ami kell számítani faktoriális). Minden argumentum egy változó vagy állandó.
Használata érvek a funkció adatokat lehet továbbítani háromféleképpen. Ez az érv elhaladó értéket (ez az alapértelmezett), a kapcsolat és beállítás az alapértelmezett érveket. Vegyük ezeket a módszereket részletesen.
Amikor az argumentum a függvény érték szerint módosítsa az értéket a függvényen belül nem befolyásolja az értékét kívül a funkciót. Ahhoz, hogy a függvény módosítsa az érveket, azokat referencia szerint kell átadni. Ehhez a meghatározása az argumentum neve kell írni-jel jel „”
Példa 5.3. Átadás hivatkozásként érvek
A funkció, akkor meg az értékeket az érvek az alapértelmezett. Az alapértelmezett érték kell, hogy legyen egy állandó kifejezés, nem változó, és nem reprezentatív osztály vagy hívja az egyéb funkciókat.
Van olyan funkció, amely létrehoz egy tájékoztató üzenet, az aláírás, amely függ a paraméter értékét átadni neki. Ha ez a paraméter nincs megadva, akkor használja az aláírás „Szervező Bizottság”.
Példa 5.4. Alapértelmezett argumentumértékeket
Az eredmény ez a szkript:
Ha a funkció számos paraméter, akkor ezek az érvek, amelyek az alapértelmezett értékeket kell írni, miután minden más érvet a függvény definíciójában. Ellenkező esetben egy hibaüzenet jelenik meg, ha ezeket az érveket elhagytuk a függvény hívásakor.
Ennek eredményeképpen megkapjuk a következő forgatókönyvet a munka
Ha írunk ki:
Az eredmény a következő lesz:
Változó hosszúságú argumentumlistát
A PHP 4-es, akkor létrehozhat funkciók változó számú érveket. Vagyis, mi létrehozunk egy függvényt, anélkül, hogy előre tudni, hogy milyen sok érv fog okozni. Írni egy ilyen funkció nincs speciális szintaxist van szükség. Mindent elkövetnek segítségével func_num_args () beépített függvény. func_get_args (). func_get_args ().
func_num_args () függvény az átadott argumentumok száma az aktuális funkciót. Ez a funkció csak akkor használható, belül meg kell határozni az egyedi funkció. Ha ez lesz az a funkció, az értelmező figyelmeztető jelet ad.
5.5 példa. Használata func_num_args () funkció
func_get_arg funkció (integer nomer_argumenta) függvény argumentum listából átadott argumentumok a függvény, amely meghatározza a paraméter nomer_argumenta sorozatszámot. Függvényargumentumok tartják, nullától kezdve. Ahogy func_num_args (). Ez a funkció csak akkor használható a definiált függvény.
Nomer_argumenta nem haladhatja meg az átadott argumentumok száma a funkciót. Ellenkező esetben, egy figyelmeztetés generálódik, és a funkciót func_get_arg () visszatér hamis.
Hozzon létre egy függvényt, hogy ellenőrizze az adatok típusát érveit. Úgy gondoljuk, hogy a teszt sikeres, ha az első függvény - egy egész szám, a második - a húr.
5.6 példa. Funkció, hogy ellenőrizze az adatok típusát érveit
Az eredmény az lesz a következő munkát.
func_get_args () függvény egy tömb, amely egy argumentumlistában át a funkciót. A tömb mindegyik eleme felel meg egy érv át a funkciót. Ha kívül használják a felhasználó által definiált függvény, egy figyelmeztetés generálódik.
Átírni az előző példában, használja ezt a funkciót. Mi lesz ellenőrizni, hogy minden páros egész argumentum a funkció:
Mint látható, a kombináció func_num_args () függvényt. func_get_arg () és a func_get_args () arra használjuk, hogy a funkció lehet változó paraméterek listája. Ezek a funkciók kerültek csak a PHP 4. PHP3, hogy hasonló hatást érjünk el lehet használni, mint egy argumentumot funkció tömb. Például így lehet írni egy forgatókönyvet, amely ellenőrzi, hogy az egyes páratlan egész paraméter funkciók:
Változók használata függvényében
A globális változók
Ahhoz, hogy használni a funkción belül változó jelentése azon kívül, ezeket a változókat kell deklarálni a globális. Erre a célra a függvény törzsében kell sorolni nevüket kulcsszó globális:
5.7 példa. A globális változók
Ennek eredményeképpen a szkript, megkapjuk:
Ez például azt jelenti, hogy megszűnik a változó $ var1 nem törli a globális változó $ _GLOBALS [ „var1”].
statikus változók
Példa 5.8. Egy statikus változó
visszatérési értékei
Minden fent felsorolt funkciók példaként végre semmilyen műveletet. Amellett, hogy ezeket az intézkedéseket, minden olyan funkciót, visszatérhet a munkájuk eredményeként tesz semmilyen különbséget. Ez történik a bevallását. A visszatérési érték lehet bármilyen típusú, beleértve a listákat és az objektumokat. Amikor a tolmács találkozik egy return utasítást a függvény törzsében. ő azonnal leállítja a program végrehajtásáról és átmegy a vonalon, amelyen a függvényt nevezzük.
Például, mi össze egy függvény, amely visszaadja a személy életkorát. Ha egy személy meghalt, a kor tekinthető relatív az aktuális évben.
Ebben a példában nem tudja használni a visszatérő funkciót. és egyszerűen cserélje ki a kimeneti függvény echo. Azonban, ha mindannyian azonos, hogy a függvény egy értéket (ebben az esetben a személy életkorát), a program tudjuk rendelni bármelyik változó ezt a funkciót:
Ennek eredményeként, a kilépési munka vissza lehet csak egy érték. Több érték nyerhető vissza értékek listája (egydimenziós tömb). Tegyük fel, hogy azt akarjuk, hogy a nagykorú személy a nap.
Ha a függvény értéke több értéket a feldolgozáshoz a program nyelv létrehozni hasznos list (), amely lehetővé teszi, hogy egyetlen műveletben értékeket rendelni különböző változók. Például, az előző példában, változatlanul hagyva a függvény feldolgozásához visszatérési értéke a következő lehet:
Általában lista () szerkezetet lehet használni, hogy értéket rendelnek egy változóhoz elemeinek bármely elrendezésével.
Példa 5.9. Használata list ()
Vissza linkek
Példa 5.10. Vissza linkek
függvényváltozókat
A PHP támogatja a függvényváltozók. Ez azt jelenti, hogy ha egy változó neve végződik zárójelben, PHP megkeresi a függvény az azonos nevű, és megpróbálja azt végrehajtani.
Példa 5.11. A változó függvények
Ebben a példában Show_text függvény egyszerűen megjeleníti a sort. Úgy tűnik, hogy mit kell tennie, hogy hozzon létre egy külön funkció, ha van egy speciális echo () függvényt. Az a tény, hogy a funkciók, mint például az echo (). print (). unset (). include (), stb Nem lehet használni, mint a változó függvények. Azaz, ha írunk:
az értelmező hibát jelez:
Ezért, annak érdekében, hogy használja fel a fenti funkciók, mint a változó funkció. létre kell hoznia a saját funkciója, amit meg is tettünk az előző példában.
Belső (beépített) függvények
Apropó felhasználó által definiált függvények, mégis lehetetlen, hogy ne szóljak néhány szót a beépített funkciókat. Néhány a beépített funkciókat. mint például az echo (). print (). dátum (). include (). már találkozott. Tény, hogy az összes ilyen funkciót, kivéve a date (). egy nyelvi konstrukció. Ők szerepelnek a PHP alapelemei, és nem igényel semmilyen további beállításokat és modulokat. Date () funkció is szerepel a PHP alapelemei, és nem igényel konfigurációt. De van egy olyan funkció, amely szeretné telepíteni a különböző könyvtári és csatlakoztassa a megfelelő modult. Például funkciók használatához a dolgozni adatbázis MySql adatbázist a PHP-t támogatja ezt a kiterjesztést. A közelmúltban, a leggyakoribb kiterjesztéseket és azok jellemzői eredetileg is a PHP, így velük együtt dolgozni anélkül, hogy további értelmező lenyugodott.
megoldás a problémára
Emlékezzünk, mi a probléma. Azt akarjuk, hogy írjon egy interfész, amely lehetővé tenné számunkra, hogy hozzon létre html-formákat. A felhasználó kiválasztja, hogy mely elemek és mennyit kíván létrehozni, akkor jön ki a nevet, és a mi program automatikusan létrehozza a kívánt formát.
Osztjuk a feladat több részfeladatot: kiválasztás elem típusok és bemeneti mennyiségek, ami input elem nevét és feldolgozása a kapott adatokat, azaz a Generation formában közvetlenül. Az első feladat egyszerű: meg kell írni a megfelelő alakot, például az alábbiakhoz hasonló (task_form.html):
Listing 5.12. task_form.html
Amikor írunk a neve az űrlap elem, mint a fajta []. Ez azt jelenti, hogy az ő neve - a következő elem a tömb típusok. Tehát van az első eleme a forma ( „string text”) lesz a neve fajta [0]. és a második (szöveg terület) - típusok [1]. A task_form.html böngésző így fog kinézni:
Ábra. 5.1. Form generált kiválasztására elemek és összegek
Elküldése után az adatokat ebben a formában fogunk információt szerezni milyen elemeket és hány példány minden típusból kell létrehozni. A következő script lekérdezi a neveket ezeket az elemeket:
Listing 5.13. ask_names.php
Tegyük fel, hogy szeretnénk létrehozni egy két sejttípus „szöveget”, és egy elem típusa „text terület”, amint azt a fenti formában. Akkor ask_names.php szkript kezelni oly módon, hogy mi lesz a következő formában:
Ábra. 5.2. Az űrlap a belépő nevét létrehozott elemek
Listing 5.14. task.php
Az eredmény a szkript bemeneti fent megadott adatok, lesz a következő formában:
Ábra. 5.3. Példa formái által generált programot