Autor | Zpráva | ||
---|---|---|---|
Ciki Profil * |
#1 · Zasláno: 14. 11. 2015, 13:02:57
Ahoj, mam menší problém, mam deklarovaný pole $userdata a to obsahuje všechny data z databáze určitého uživatele. Pole lze použít všude v souboru kromě funkcí.
echo $userdata['user_nick']; function showNick { Zde zatím nic } toto funguje vypíše to jméno na obrazovku ovšem function showNick { echo $userdata['user_nick']; } toto už nefunguje, jakmile je prostě to pole použito v nějaké funkci jako by nebylo, už si nevím rady, děkuji za každou pomoc |
||
Alphard Profil |
#2 · Zasláno: 14. 11. 2015, 13:08:03
Předat parametrem, přečtěte si o funkcích něco víc, např. na Základní kurz 13: Funkce.
|
||
Dan Charousek Profil |
#3 · Zasláno: 14. 11. 2015, 13:08:37
Ciki:
Říká se tomu kontext nebo také obor viditelnosti proměnné. Jednoduše ta data předej do funkce pomocí parametr při jejím volání, např.: function showNick($data) { echo $data['user_nick']; } $userdata = ['user_nick' => 'Ciki']; showNick($userData); // vypíše Ciki |
||
Ciki Profil * |
#4 · Zasláno: 14. 11. 2015, 13:18:56
Já v tý funkci chci psát dlouhé scripty...nemužu tomu předávat všechny proměnné... to není něco jako procedůra jako třeba v C# ?
|
||
Dan Charousek Profil |
#5 · Zasláno: 14. 11. 2015, 13:21:17
Ciki:
„Já v tý funkci chci psát dlouhé scripty“ Tak to asi něco děláš špatně. Každá funkce by měla řešit jeden konkrétní problém. |
||
Alphard Profil |
#6 · Zasláno: 14. 11. 2015, 17:47:05
Ciki [#4]:
Procedura v C#? Přiznám se, že moc nerozumím a vše co jsem v rychlosti na toto téma našel vedlo na procedury na úrovni SQL. Mohu jen hádat, že máte na mysli nějakou formu globálních proměnných. Ty podporuje i PHP, jen je třeba globálnost v dané funkci explicitně deklarovat, respektivě k proměnnýchm přistupovat přes pole globálních objektů. Důvod, proč jsem to nenapsal hned, je, že toto řešení obvykle není ideální; byť se tak začátečníkům může zdát. Ve většině případů je možné předávaná data strukturovat tak, aby je bylo možné efektivně předávat v parametrech. |
||
Časová prodleva: 9 let
|
0