Autor | Zpráva | ||
---|---|---|---|
WMPopi Profil |
#1 · Zasláno: 1. 8. 2011, 00:25:58
Potřebuji ve funkci číst z vnějšího vícerozměrného pole, ale pokud ve funkci zavolám global $config[provize], pole se nenačte. Vyřešil jsem to převedením vícerozměrného pole na jednorozměrné před funkcí, ve funkcí zavolám global a převedu zpět na vícerozměrného (abych nemusel přepisovat kód ve funkci).
Zajímalo by mě, proč to nefunguje tak jak jsem si představoval? :-) $config[provize] = array(1, 2, 3); $provize = $config[provize]; function import() { global $provize; $config[provize] = $provize; echo $config[provize]; } |
||
Michal Benda Profil |
#2 · Zasláno: 1. 8. 2011, 08:32:19
Zkus tohle:
$config[provize] = array(1, 2, 3); $provize = $config[provize]; function import() { global $provize; global $config; $config[provize] = $provize; echo $config[provize]; } |
||
Tori Profil |
#3 · Zasláno: 1. 8. 2011, 08:35:30 · Upravil/a: Tori
Tyhle dva způsoby by měly fungovat normálně:
$config['provize'] = "nějaký text"; function import() { global $config; echo $config['provize']; } function import2() { echo $GLOBALS['config']['provize']; } $krabice['s']['velmi']['dobre']['ukrytym']['obsahem'] = 'čokoláda'; function najdiCokoladu() { $zkratka = $GLOBALS['krabice']['s']['velmi']['dobre']['ukrytym']['obsahem']; echo $zkratka; } |
||
Mastodont Profil |
#4 · Zasláno: 1. 8. 2011, 09:04:27
WMPopi:
Global je zlo, zvykni si potřebné údaje předávat jako parametr. $provize = $config[provize]; function import($provize) { $config[provize] = $provize; echo $config[provize]; } |
||
Časová prodleva: 14 let
|
0