Autor Zpráva
george[6]
Profil *
Jaký je správný zápis následujícího příkazu echo, který spojuje textový řetězec a výpis definované funkce?

echo "<a href=\"?page=".$_GET["page"]."\">".VyberTitulek()."</a>";


Tento zápis způsobí, že hodnota funkce VyberTitulek() se vypíše před tagem
<a>
, místo uvnitř tagu. Přitom hodnota proměnné page se vypíše správně.

Pokud stejný blok kódu zapíšu takto:


echo "<a href=\"?page=".$_GET["page"]."\">";

echo VyberTitulek()."</a>";


... hodnota funkce VyberTitulek() je umístěna správně uvnitř tagu
<a></a>
.

Čím je to způsobeno? A je případně správný zápis s použitím několika příkazů echo za sebou? Nezpůsobí to zpomalení běhu kódu?

Děkuji za vysvětlení. V php jsem začátečník...
tiso
Profil
george[6]
Vo funkcii VyberTitulek nepoužívaj echo "vystup" ale return "vystup".
YoSarin
Profil
co vrací funkce VyberTitulek()? vrací pouze string, nebo se ho rovnou snaží i vypsat?
Edit
přesně jak říká tiso
Retal
Profil
Pravidlo č. 1: Nemíchej PHP s HTML.
george[6]
Profil *
tiso
To bude zřejmě ten problém, ve funkci mám také definován výstup pomocí echo...

b]Retal[/b]
Jak tedy zapsat výstup podmínky "lépe"? Potřebuji přeci vypsat výstup podle určité situace, která nastane a zároveň mít výstup zformátovaný...
24k
Profil *
Funkce by mela vracet return.
Jak je videt v tomto priklade napriklad :). A nkdy prece neni problem doplnit pred VlozTitulek echo , ne ?
tiso
Profil
george[6]
miesto:
function VyberTitulek(){

if(){
//nieco rob
echo "blabla";
}
else{
echo "blablabla";
}
}

napíš:
function VyberTitulek(){

if(){
//nieco rob
$returm="blabla";
}
else{
$return="blablabla";
}
return $return;
}

Dúfam že to pochopíš.
george[6]
Profil *
tiso

V tom případě by mělo fungovat i:


function VyberTitulek(){

if(){

//nieco rob

return "blabla";

}

else{

return "blablabla";

}

}
tiso
Profil
george[6]
Malo... Ono je otázne čo vlastne chceš robiť. Pri mojom spôsobe sa dá použiť spájanie reťazcov (premennú $return poskladáš postupne vo viacerých krokoch), pri Tvojom spôsobe už priamo natvrdo posielaš návratovú hodnotu.
Retal
Profil
george[6]
Šablony.
Toto téma je uzamčeno. Odpověď nelze zaslat.

0