PHP & databáze

peeeeta
Uživatelský avatar
WD Trader: 4.83/5

Příspěvky: 2055
Registrace: 02.09.2012
Dneska jsem se tak nějak zamyslel, nad těmito dvěma funkcemi a chtěl bych se zeptat, jaký je rozdíl mezi funkcí prinf() a sprinf().
Díky moc
Pokud jsem ti pomohl přidej mi bod tlačítkem [+]
Wedos aktuální slevy
 CZC slevové kupóny

Otakar Pěnkava

Administrátor
WD Trader: 4.6/5

Příspěvky: 2707
Registrace: 15.10.2010
Vyzkousej si to ;), printf() by mela mit podobnou fci jako echo. Sprintf() je tusim doplneni promenne v retezci. Rano jestli nezapomenu, tak se podivam do kodu co to presne dela.

peeeeta
Uživatelský avatar
WD Trader: 4.83/5

Příspěvky: 2055
Registrace: 02.09.2012
Otakare, právě, že já to zkoušel a u obou dvou mi fungovalo doplnění proměnných v řetězci.
Proto se ptám jaký je v nich rozdíl.
Pokud jsem ti pomohl přidej mi bod tlačítkem [+]
Wedos aktuální slevy
 CZC slevové kupóny

Jan Paluska
Uživatelský avatar

Administrátor
WD Trader: 4.78/5

Příspěvky: 1323
Registrace: 14.02.2011
Jazyk C (předpokládám, že se bavíme o tomto jazyce)
fprintf writes formatted text to the output stream you specify.
printf is equivalent to writing fprintf(stdout, ...) and writes formatted text to wherever the standard output stream is currently pointing.
sprintf writes formatted text to an array of char, as opposed to a stream.

http://stackoverflow.com/questions/4627330/difference-between-fprintf-printf-sprintf popřípadě doporučuji najít dané funkce v dokumentaci a pozorně přečíst jejich specifikaci :)
Pomohl jsem? Použij tlačítko [+]
 EasyAd verze 1.0

peeeeta
Uživatelský avatar
WD Trader: 4.83/5

Příspěvky: 2055
Registrace: 02.09.2012
No já mluvím o PHP.
A bohužel takhle anglicky je to pro mě složité pochopit.
Pokud jsem ti pomohl přidej mi bod tlačítkem [+]
Wedos aktuální slevy
 CZC slevové kupóny

Jan Paluska
Uživatelský avatar

Administrátor
WD Trader: 4.78/5

Příspěvky: 1323
Registrace: 14.02.2011
aha, takže:

sprintf() by měla vracet řetězec, zatímco printf() jej zobrazí, příklad:

Kód: Vybrat vše
printf(currentDateTime());
print sprintf(currentDateTime());


oba řádky kódu udělají naprosto to samé, akorát sprintf() samo o sobě žádný výstup nevytiskne
Pomohl jsem? Použij tlačítko [+]
 EasyAd verze 1.0

peeeeta
Uživatelský avatar
WD Trader: 4.83/5

Příspěvky: 2055
Registrace: 02.09.2012
Ale lze také napsat, že
Kód: Vybrat vše
printf( '%1$s %2$s <span class="says">%3$s</span>',$prvni_promenna,$druha_promenna,$treti_promenna)

A to samé s sprinf().
Ale jestli to chápu správně, tak
Kód: Vybrat vše
sprinf('%1$s %2$s <span class="says">%3$s</span>',$prvni_promenna,$druha_promenna,$treti_promenna)
mi nic nevypíše a je potřeba před tuto funkci dopsat print. Je to tak?
Pokud jsem ti pomohl přidej mi bod tlačítkem [+]
Wedos aktuální slevy
 CZC slevové kupóny

Otakar Pěnkava

Administrátor
WD Trader: 4.6/5

Příspěvky: 2707
Registrace: 15.10.2010
Jo, mělo by to tak být. Promiň, včera v noci jsem si to spletl s print_r().

peeeeta
Uživatelský avatar
WD Trader: 4.83/5

Příspěvky: 2055
Registrace: 02.09.2012
Otakare, to nic. jen jsem se chtěl ujistit.
Pokud jsem ti pomohl přidej mi bod tlačítkem [+]
Wedos aktuální slevy
 CZC slevové kupóny

Jan Paluska
Uživatelský avatar

Administrátor
WD Trader: 4.78/5

Příspěvky: 1323
Registrace: 14.02.2011
peeeeta píše:
Ale lze také napsat, že
Kód: Vybrat vše
printf( '%1$s %2$s <span class="says">%3$s</span>',$prvni_promenna,$druha_promenna,$treti_promenna)

A to samé s sprinf().
Ale jestli to chápu správně, tak
Kód: Vybrat vše
sprinf('%1$s %2$s <span class="says">%3$s</span>',$prvni_promenna,$druha_promenna,$treti_promenna)
mi nic nevypíše a je potřeba před tuto funkci dopsat print. Je to tak?


Ano, přesně tak by to mělo být :)
Pomohl jsem? Použij tlačítko [+]
 EasyAd verze 1.0

Pro plnohodnotné využívání fóra, vč. psaní příspěvků se musíte registrovat nebo se přihlásit.
Registrovat se nebo Přihlásit se