Funkciók, funkciók, php-spravka érvek
A funkciók érveiről
Mindegyik függvény lehet, mint mondtuk, az érvek listáját.
Ezen érvek segítségével különböző információkat továbbítanak a függvényhez (például annak a számnak a értékével, amelynek tényleges számítását kell számítani).
Minden argumentum egy változó vagy egy állandó.
Az érvekkel az adatok három különböző módon átvihetők a funkcióra.
Ez az alapértelmezés szerint használt értékek (alapértelmezés szerint), a hivatkozás alapján, valamint az argumentumok alapértelmezett értékének megadása. Nézzük ezeket a módszereket részletesebben.
Amikor egy argumentum értéke átmegy egy függvényre, az argumentum értékének megváltoztatása egy függvényen belül nem befolyásolja a függvényen kívüli értékét. Ha egy függvénynek módosítania kell az argumentumait, akkor ezeket referenciaként kell átadni.
Ehhez a függvény definíciójában az argumentum nevét meg kell adnia az "" és a "" karaktereket.
1. példa Az argumentumok átadása referenciaként (html, txt)
A függvényben megadhatja az alapértelmezett argumentumértékeket.
Maga az alapértelmezett értéknek állandó kifejezésnek kell lennie, nem pedig egy változónak, és nem egy osztály reprezentatívnak vagy egy másik függvényhívásnak.
Van olyan funkciónk, amely olyan információs üzenetet hoz létre, amelynek az aláírása a hozzá átadott paraméter értékétől függ. Ha a paraméter értéke nincs megadva, akkor az "Organizing Committee" aláírást használják.
2. példa Az alapértelmezett érvek (html, txt)
Ennek a szkriptnek az eredménye:
Ha a függvénynek több paramétere van, akkor az alapértelmezett értékek meghatározására vonatkozó argumentumokat a függvénydefiníció minden más argumentuma után meg kell adni. Ellenkező esetben hiba jelenik meg, ha ezek az érvek elmaradnak a funkció hívásakor.
A szkript eredményeként a következőket kapjuk
Ha így írunk:
Ennek eredményeként megkapjuk:
Változó hosszúságú érvek felsorolása
A PHP4-ben változó számú argumentummal létrehozhat funkciókat.
Vagyis egy függvényt hozunk létre anélkül, hogy tudnánk előre, hány argumentumot fog okozni.
Egy ilyen funkció létrehozásához nincs szükség speciális szintaxisra.
Minden a func_num_args (), func_get_arg (), func_get_args () beépített függvényekkel készült.
A func_num_args () függvény visszaküldi az aktuális függvényhez tartozó argumentumok számát. Ez a funkció csak a felhasználó által definiált függvény definícióján belül használható.
Ha a funkción kívül jelenik meg, a tolmács figyelmeztetést ad.
1. példa Func_num_args () (html, txt) használata
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. A függvény argumentumait nullától kezdve tekintjük.
A func_num_args () függvényében ez a függvény csak a függvény definíciójában használható.
Az argumentum száma nem haladhatja meg a funkcióhoz továbbított argumentumok számát. Ellenkező esetben figyelmeztetés keletkezik, a func_get_arg () pedig hamis.
Létre kell hozni egy függvényt, hogy ellenőrizzük az argumentumainak adattípusát. Hiszünk abban, hogy a teszt sikeres volt, ha a függvény első argumentuma egész szám, a második egy string.
2. példa Az adat típusának, annak érveinek (html, txt) ellenőrzésének funkciója
A munka eredménye a következő lesz.
A func_get_args () függvény egy olyan tömböt ad vissza, amely a függvénynek átadott argumentumok listáját tartalmazza.
A tömb minden egyes eleme megfelel a funkcióhoz továbbított argumentumnak.
Ha a függvény a felhasználó által definiált függvény definícióján kívül esik, akkor figyelmeztetés keletkezik.
Ezzel a funkcióval átírjuk az előző példát. Ellenőrizni fogjuk, hogy egy függvény egészének egész egésze átvehető-e egy egész szám:
Mint látható, az újításoknak func_num_args (), func_get_arg () és func_get_args () használatos funkció lehet változó paraméterek listája.
Ezeket a függvényeket csak a PHP 4-ben adták hozzá. A PHP3-ban ennek a hatásnak a eléréséhez egy függvényt használhat a függvény argumentumaként.
Itt például írható egy parancsfájl, amely ellenőrzi, hogy a függvény minden egyes páratlan paramétere egész szám: