Autor | Zpráva | ||
---|---|---|---|
kchrz Profil |
#1 · Zasláno: 14. 8. 2006, 18:14:53
Pokoušel jsem se udělat funkci na upravu textu.
vypadá asi takto : function preloz($s) { $s = nl2br($s); } a v průběhu zdrojáku si funkci vyvolám : preloz($text); nicméně nefunguje. Zkoušel jsem i kombinaci function preloz($s) { $x = nl2br($s); return $x; } $text = preloz($text); ale ani to mi nefunguje. Kde dělám chybu prosím. |
||
Hugo Profil |
#2 · Zasláno: 14. 8. 2006, 18:17:26
function preloz($s) {
$s = nl2br($s); return $s; } Ta funkce musi tu hodnotu vratit, jinak se zmeny projevi pouze v promenne $s, kterou ovsem mimo funkci nevidis. |
||
kchrz Profil |
#3 · Zasláno: 14. 8. 2006, 18:33:40
Paráda, funguje.
díky moc. |
||
Honza Široký Profil |
#4 · Zasláno: 14. 8. 2006, 18:33:55
a nebo takhle:
function preloz(&$s) { $s = nl2br($s); } ten ampersand znamená, že předáváš proměnnou odkazem a ne hodnotou. |
||
koudi Profil |
#5 · Zasláno: 14. 8. 2006, 18:34:19
Jestli chceš používat tvar preloz(x) místo neco = preloz(x), tak buď musíš funkci zviditelnit tu proměnnou přes global, případně funkci nepředávat hodnotu tý proměnný, ale odkaz na ni - pomocí &.
|
||
Hugo Profil |
#6 · Zasláno: 14. 8. 2006, 18:36:27
koudi
Globalni promenne je imho vhodne pouzivat, jen kdyz neni jina moznost. To uz lepsi predavani promenne odkazem, viz. Honza Široký. |
||
koudi Profil |
#7 · Zasláno: 14. 8. 2006, 18:39:20
Hugo
To je pravda, nicméně taky to tak lze. Osobně bych volil ten odkaz. Teď už je kchrzovi, co si vybere. |
||
Hugo Profil |
#8 · Zasláno: 14. 8. 2006, 18:44:31
No, ja osobne bych zvolil klasickou funkci, ktera vraci vysledek pomoci return. Tady v tomto pripade neni duvod k jinemu reseni. Ale to uz neni moje starost ...
|
||
koudi Profil |
#9 · Zasláno: 14. 8. 2006, 18:47:26
Hugo
Samozřejmě. Ale kdo chce kam, pomozme mu tam :-) |
||
kchrz Profil |
#10 · Zasláno: 14. 8. 2006, 18:53:15
Děkuji moc všem za rady. Nakonec jsem si vybral funkci s ampersandem. Ušetřím tak pár znaků :-)
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0