Funkcia vsprintf
Funkcia vsprintf je analogická k sprintf, ale prijíma argumenty vo forme poľa,
a nie premenlivého počtu parametrov. Prvým parametrom sa odovzdáva reťazec-šablóna s
špecifikátormi formátu, druhým - pole hodnôt pre dosadenie. V reťazci formátu sa používajú špeciálne znaky (formátové špecifikátory), ktoré začínajú znakom % a riadia formátovanie výstupu.
Syntax
vsprintf(string $format, array $args);
Formátové špecifikátory
| Špecifikátor | Popis |
|---|---|
%s |
Reťazec |
%d |
Celé číslo so znamienkom (desiatkové) |
%u |
Celé číslo bez znamienka (desiatkové) |
%f |
Číslo s pohyblivou rádovou čiarkou (závislé od lokality) |
%F |
Číslo s pohyblivou rádovou čiarkou (nezávislé od lokality) |
%c |
Znak podľa ASCII-kódu |
%x |
Celé číslo v šestnástkovej sústave (malé písmená) |
%X |
Celé číslo v šestnástkovej sústave (veľké písmená) |
%o |
Celé číslo v osmičkovej sústave |
%b |
Celé číslo v dvojkovej sústave |
%e |
Vedecká notácia (malé písmená) |
%E |
Vedecká notácia (veľké písmená) |
%g |
Krátky zápis %e alebo %f |
%G |
Krátky zápis %E alebo %F |
%% |
Znak percenta |
Príklad
Základný príklad formátovania reťazca s dosadením hodnôt:
<?php
$res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
echo $res;
?>
Výsledok vykonania kódu:
'Hello John! Today is Monday.'
Príklad
Použitie rôznych špecifikátorov formátu:
<?php
$res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
echo $res;
?>
Výsledok vykonania kódu:
'2023-05-12'
Príklad
Práca s číslami s pohyblivou rádovou čiarkou:
<?php
$res = vsprintf('Price: $%.2f', [19.99]);
echo $res;
?>
Výsledok vykonania kódu:
'Price: $19.99'