Autor | Zpráva | ||
---|---|---|---|
Amunak Profil |
#1 · Zasláno: 15. 4. 2011, 23:10:24
Zdravím, tento skript nehlásí žádnou chybu, ale...
$pole = array(); var_dump($pole); //vypíše array(0){} - OK function fce() { global $pole; var_dump($pole); //vypíše NULL - Jakto? } Kód je součástí skriptu který sice includuji, ale ne dovnitř jiné funkce (myslím) :-D co s tím? |
||
pcmanik Profil |
#2 · Zasláno: 15. 4. 2011, 23:12:54
Ty definujes tu globalnu premmenu az vo funkcii, resp. ty musis do tej funkcie vlozit ten array, od toho su parametre funkcii. Ved takto by si mohol omylom napisat do globalu nejaku premennu, co sa ti vyskytuje niekde v skripte a mal by si problemy.
|
||
Amunak Profil |
#3 · Zasláno: 15. 4. 2011, 23:17:26
pcmanik:
Ale já to tak potřebuji. Potřebuji to pole měnit a využívat ve větším počtu funkcí. Nemůžu použít parametry, protože nechci pokaždé vypisovat parametr navíc, který by byl stejně použit jako referenční. |
||
meris Profil |
#4 · Zasláno: 15. 4. 2011, 23:23:13
Existuje to pole před tím, než zavoláš tu funkci?
|
||
Amunak Profil |
#5 · Zasláno: 15. 4. 2011, 23:31:24 · Upravil/a: Amunak
meris:
ano, viz první var_dump. Ta funkce se volá v nadřazeném skriptu, který tento includuje. |
||
Keeehi Profil |
#6 · Zasláno: 15. 4. 2011, 23:41:16 · Upravil/a: Keeehi
1) Funkci nevoláš. Když ji zavolám, tak to bez problémů funguje.
2) Udělal bych to asi takto: function fce(&$pole) { $pole[2]=5; } $pole = array(1,2,3,4,5); var_dump($pole); //1,2,3,4,5 fce($pole); var_dump($pole); //1,2,5,4,5 |
||
Amunak Profil |
#7 · Zasláno: 16. 4. 2011, 00:00:25
Keeehi:
u sebe jí volám... Takhle je to hezké, ale když to chci bez použití parametru? |
||
Keeehi Profil |
#8 · Zasláno: 16. 4. 2011, 00:11:08
V [#1] chyba není. Když si vyzkoušíte tento očesaný příklad, musí vám fungovat, tzn. že chyba bude v té části, kterou jste sem nedal.
|
||
Amunak Profil |
#9 · Zasláno: 16. 4. 2011, 00:17:01
Keeehi:
Asi máte pravdu, zítra to ještě projdu a kdyžtak to sem dám celé. |
||
meris Profil |
#10 · Zasláno: 16. 4. 2011, 00:42:55
Amunak:
Myslel jsem co vypíše var_dump těsně před voláním té funkce? Špatně jsem to napsal před tím. |
||
Amunak Profil |
#11 · Zasláno: 17. 4. 2011, 00:20:39
Před voláním to pole taky bylo naplněné. U mě nefungovala ani tahle ukázka, takže asi nějaké podivné nastavení php nebo špatná konstelace hvězd. Přenesl jsem to nakonec přes ten parametr, takže jsem toho teď půlku přepsal ale zase ta funkce je teď o něco praktičtější.
Tak díky za snahu. |
||
Časová prodleva: 13 let
|
0