Funkce vsprintf
Funkce vsprintf je podobná funkci sprintf, ale přijímá argumenty ve formě pole,
nikoli proměnného počtu parametrů. Prvním parametrem je řetězec-šablona s
formátovacími specifikátory, druhým - pole hodnot pro dosazení. V řetězci formátu se používají speciální znaky (formátovací specifikátory), které začínají znakem % a řídí formátování výstupu.
Syntaxe
vsprintf(string $format, array $args);
Formátovací specifikátory
| Specifikátor | Popis |
|---|---|
%s |
Řetězec |
%d |
Celé číslo se znaménkem (desítkové) |
%u |
Celé číslo bez znaménka (desítkové) |
%f |
Číslo s plovoucí desetinnou čárkou (závislé na lokálním nastavení) |
%F |
Číslo s plovoucí desetinnou čárkou (nezávislé na lokálním nastavení) |
%c |
Znak podle ASCII kódu |
%x |
Celé číslo v šestnáctkové soustavě (malá písmena) |
%X |
Celé číslo v šestnáctkové soustavě (velká písmena) |
%o |
Celé číslo v osmičkové soustavě |
%b |
Celé číslo v binární soustavě |
%e |
Vědecká notace (malá písmena) |
%E |
Vědecká notace (velká písmena) |
%g |
Krátký zápis %e nebo %f |
%G |
Krátký zápis %E nebo %F |
%% |
Znak procenta |
Příklad
Základní příklad formátování řetězce s dosazením hodnot:
<?php
$res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
echo $res;
?>
Výsledek provedení kódu:
'Hello John! Today is Monday.'
Příklad
Použití různých formátovacích specifikátorů:
<?php
$res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
echo $res;
?>
Výsledek provedení kódu:
'2023-05-12'
Příklad
Práce s čísly s plovoucí desetinnou čárkou:
<?php
$res = vsprintf('Price: $%.2f', [19.99]);
echo $res;
?>
Výsledek provedení kódu:
'Price: $19.99'