Autor | Zpráva | ||
---|---|---|---|
Klascsas Profil * |
#1 · Zasláno: 6. 5. 2012, 21:47:24
Čau,
Můžete my vysvětlit princip funkce return u tohohle kodu? Ikdyž vidím různý výsledek výstupu, nechápu proč to tak je. Předem díky za odpověd. function napis(){ return "ahoj"; } echo "toto je text, ktery vam rekne: ".napis(); // vypíše: "toto je text, ktery vam rekne: ahoj" function napis2(){ echo "ahoj"; } echo "toto je text, ktery vam rekne: ".napis2(); // vypíše: "ahojtoto je text, ktery vam rekne:" |
||
David Klouček Profil |
V prvnim příkladu se přečte řetězec, zavolá funkce napis(), která vrátí hodnotu, ta se připojí k předchozímu řetězci a pak se to celý vypíše.
U druhýho se přečte řetezec, zavolá se funkce napis(), která něco provede (vypíše "ahoj") a pak se teprve dokončí příkaz a vypíše ten řetězec. |
||
Tori Profil |
echo "toto je text, ktery vam rekne: ".napis2(); - tady spojujete dva řetězce, druhý má být výsledkem funkce. Nejdřív se tedy zavolá funkce (která napíše "ahoj"), její návratová hodnota (null -> prázdný řetězec) se připojí k předchozímu řetězci a výsledek se zobrazí. Je to podobné, jako $b = 3 / ($a + 8); - taky se nejdřív vyhodnotí výraz v závorkách a až pak se dělí.
Druhý příklad by fungoval podle očekávání v tomhle případě: function napis2(){ echo "ahoj"; } echo "toto je text, ktery vam rekne: ", napis2(); |
||
Časová prodleva: 12 let
|
0