Függvénybe ágyazott függvényeknél global használata?
Sziasztok. A global használatához kérnék segítséget (php4).
Az "elso" függvénybe vannak ágyazva "masodik" és "harmadik" függvények. Az "elso" és "masodik" függvényeknek szükségük van a kinti $valtozo1-re és $valtozo2-re, "harmadik"-nak nem. A "harmadik" önmagán belül meghívja a "masodik"-at.Amit szeretnék megtudni:
1. Szükség van-e masodik()-ban megadni a global-t? (Nem hat-e "lefelé", "befelé" is az elso()-ben kiadott "global" parancs?)
2. Szükség van-e harmadik()-ban is megadni a global-t? Neki nem kell, de a benne meghívott masodik()-nak igen.
3. Van-e vmilyen lehetőség arra, hogy rögtön a két változó létrehozásakor elérhetővé tegyem őket minden függvény számára? Az egy kicsit hosszadalmasnak tűnik, hogy ha $valtozo1-re 117-szer van szükségem egy függvényen belül, akkor 117-szer úgy írjam le, hogy $GLOBALS[valtozo1]. Vagy rosszul értem a használatát? A php.morva.net nem sokat ír róla.
Előre is köszönöm a segítséget.
■ Az "elso" függvénybe vannak ágyazva "masodik" és "harmadik" függvények. Az "elso" és "masodik" függvényeknek szükségük van a kinti $valtozo1-re és $valtozo2-re, "harmadik"-nak nem. A "harmadik" önmagán belül meghívja a "masodik"-at.
<?php
$valtozo1="alma";
$valtozo2="korte";
function elso() {
global $valtozo1, $valtozo2;
// használja a két változót
function masodik() {
global $valtozo1, $valtozo2;
// használja a két változót
}
function harmadik() {
// Csinál vmit, s ehhez meghívja masodik()-at.
$akarmi=masodik();
}
}
?>
1. Szükség van-e masodik()-ban megadni a global-t? (Nem hat-e "lefelé", "befelé" is az elso()-ben kiadott "global" parancs?)
2. Szükség van-e harmadik()-ban is megadni a global-t? Neki nem kell, de a benne meghívott masodik()-nak igen.
3. Van-e vmilyen lehetőség arra, hogy rögtön a két változó létrehozásakor elérhetővé tegyem őket minden függvény számára? Az egy kicsit hosszadalmasnak tűnik, hogy ha $valtozo1-re 117-szer van szükségem egy függvényen belül, akkor 117-szer úgy írjam le, hogy $GLOBALS[valtozo1]. Vagy rosszul értem a használatát? A php.morva.net nem sokat ír róla.
Előre is köszönöm a segítséget.
global és a függvények
a 3. kérdésre a válasz: nincs lehetőség. ellenben van olyan, hogy define, és van olyan is, hogy paraméter, vagy argumentum. ezek használatát javaslom.
gex
3. pont
A harmadik pontot nem értem. Pontosítanád?
Az egészre véleményem, hogy próbáld a problémádra a megoldást. kb 10 percig tart írni egy ilyen példát.
Illetve a http://www.php.net/manual/hu/language.functions.php tudom javasolni.
Heuréka - ÁLLANDÓ!
Jelen esetemre pedig (s ez a válasz Sayusi kérdésére is): utólag tényleg elég kézenfekvő, hogy ha kell nekem egy mindenütt elérhető, s sehol nem módosuló (csak felhasználandó) változó - hát az az állandó... :)
További szép napot!