| Autor | Zpráva | ||
|---|---|---|---|
| Klascsas |
#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 |
#2 · Zasláno: 6. 5. 2012, 22:01:16 · Upravil/a: David Klouček
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 |
#3 · Zasláno: 6. 5. 2012, 22:02:18 · Upravil/a: Tori
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: 1 rok
|
|||