Autor | Zpráva | ||
---|---|---|---|
libis Profil |
Zdravím, řešil jsem ted neco s funkcemi a nevím proč se tohle děje..
mám 2 obyčejné funkce function napis($autor){ echo("ahoj $autor!"); } function napis2($autor){ echo("ahoj $autor!"); } a když to vypisu takto: echo napis($autor)." - ".napis2($autor); tak ta pomlcka bude az nakonci, ale když takto: echo napis($autor); echo " - "; echo napis2($autor); tak bude uprostred, jak má být. Může mi někdo vysvětlit, v čem se to liší? |
||
Majkl578 Profil |
#2 · Zasláno: 16. 10. 2009, 17:51:03
protoze ve funkci pouzivas echo, ktere to vypise driv nez se vypise retezec sestaveny z navracenych hodnot.
|
||
Joker Profil |
#3 · Zasláno: 16. 10. 2009, 17:53:31 · Upravil/a: Joker
libis:
Není to taková záhada, když si uvědomíte, že funkce napis a napis2 nic nevracejí, ale přímo v sobě vypisují ten text. Čili, co udělá následující, pokud budu mít $autor = "Jokere"? echo napis($autor)." - ".napis2($autor); - vezme se hodnota $autor (= "Jokere") a předá se funkci napis. Ta vypíše text "ahoj Jokere!" a nic nevrátí. Zatím máme na výstupu "ahoj Jokere!" - K ničemu se operátorem spojování řetězců připojí " - ". Nic se tím pádem konvertuje na prázdný řetězec. Výsledkem je řetězec " - ", výstup je stále "ahoj Jokere!". - Další operátor spojování řetězců, PHP vyhodnotí pravou stranu. Vezme hodnotu $autor (= "Jokere") a předá funkci napis2. Ta vypíše text "ahoj Jokere!" a nic nevrátí. Na výstupu máme "ahoj Jokere!ahoj Jokere!" - výstup funkce napis2 je nic, operátor spojování řetězců opět konvertuje na prázdný řetězec a připojí k tomu co už máme, výsledkem je stále " - " - Celý výraz byl vyhodnocen, takže výsledný řetězec: " - " se předá funkci echo(), která ho vypíše na výstup. Výsledný výstup: "ahoj Jokere!ahoj Jokere! - " |
||
king26 Profil |
#4 · Zasláno: 16. 10. 2009, 23:09:31
function napis($autor){ return ("ahoj $autor!"); } function napis2($autor){ return ("ahoj $autor!"); } echo napis($autor)." - ".napis2($autor); |
||
libis Profil |
#5 · Zasláno: 17. 10. 2009, 16:24:47
aha díky za poučení ...
|
||
Časová prodleva: 15 let
|
0