sprintf

sprintf -- Vrátit formátovaný řetězec

Popis

string sprintf ( string format [, mixed args])

Vrací řetězec vytvořený podle formátovacího řetězce format .

Formátovací řetězec se skládá z nula nebo více direktiv : běžných znaků ( kromě % ) , které se přímo kopírují do výsledku , a převodních specifikací , z nichž každá přijímá jeden argument . Toto platí pro sprintf( ) i printf( ) .

Každá převodní specifikace se skládá ze znaku procenta ( % ) , následovaného jedním nebo více z těchto znaků , v tomto pořadí :

  1. Volitelný padding specifier , který určuje , jaký znak se použije na doplnění výsledku na správnou délku řetězce . Může to být mezera nebo 0 ( písmeno nula ) . Default je nula . Jiný doplňující znak můžete zadat tak , že před něj předřadíte jednoduchou uvozovku ( ' ) . Viz ukázky níže .

  2. Volitelný alignment specifier , který určuje , jestli se výsledek zarovnat doleva nebo doprava . Default je doprava , pomlčka ( - ) to změní na doleva .

  3. Volitelné číslo width specifier , které určuje , kolik znaků ( minimálně ) obsahovat výsledek převodu .

  4. Volitelný precision specifier , který určuje , kolik desetinných míst se zobrazit u čísel s desetinnou čárkou . Tento přepínač nemá žádný vliv na jiné typy než double . ( Další funkcí užitečnou na formátování čísel je number_format( ) . )

  5. type specifier , který určuje , za jaký typ se mají data argumentu považovat . Možné typy :

    % - a doslovný znak procenta . Nevyžaduje se žádný argument .
    b - argument se považuje za integer a je prezentován jako binární číslo .
    c - argument se považuje za integer a je prezentován jako znak s touto ASCII hodnotou .
    d - argument se považuje za integer a je prezentován jako desítkové číslo .
    f - argument se považuje za double a je prezentován jako číslo s plovoucí desetinou čárkou .
    o - argument se považuje za integer a je prezentován jako oktalové číslo .
    s - argument se považuje za řetězec a je takto prezentován .
    x - the argument se považuje za integer a je prezentován jako hexadecimální číslo ( s malými písmeny ) .
    X - argument se považuje za integer a je prezentován jako hexadecimální číslo ( s kapitálkami ) .




Viz také : printf( ) , sscanf( ) , fscanf( ) a number_format( ) .

Ukázky

Příklad 1 . Ukázka sprintf( ) : zero-padded integers

 
$isodate

 
=

 
sprintf

 
(

 
"%04d-%02d-%02d"

 
,

 
$year

 
,

 
$month

 
,

 
$day)

 
;



Příklad 2 . Ukázka sprintf( ) : formatting currency

 
$money1

 
=

 
68.75

 
;

 
$money2

 
=

 
54.35

 
;

 
$money

 
=

 
$money1

 
+

 
$money2

 
;

 
/

 
/

 
echo

 
$money

 
will

 
output

 
"123.1"

 
;

 
$formatted

 
=

 
sprintf

 
("%01.2f"

 
,

 
$money)

 
;

 
/

 
/

 
echo

 
$formatted

 
will

 
output

 
"123.10

 
"