Funcția vsprintf
Funcția vsprintf este analogă cu sprintf, dar acceptă argumente sub formă de tablou,
și nu un număr variabil de parametri. Primul parametru este un șir-model cu
specificatori de format, al doilea - un tablou de valori pentru substituție. În șirul de format sunt folosite caractere speciale (specificatori de format), care încep cu semnul % și controlează formatarea ieșirii.
Sintaxă
vsprintf(string $format, array $args);
Specificatori de format
| Specificator | Descriere |
|---|---|
%s |
Șir de caractere |
%d |
Număr întreg cu semn (zecimal) |
%u |
Număr întreg fără semn (zecimal) |
%f |
Număr cu virgulă mobilă (dependent de localizare) |
%F |
Număr cu virgulă mobilă (independent de localizare) |
%c |
Caracter după codul ASCII |
%x |
Număr întreg în sistem hexazecimal (litere mici) |
%X |
Număr întreg în sistem hexazecimal (litere mari) |
%o |
Număr întreg în sistem octal |
%b |
Număr întreg în sistem binar |
%e |
Notație științifică (litere mici) |
%E |
Notație științifică (litere mari) |
%g |
Scriere scurtă %e sau %f |
%G |
Scriere scurtă %E sau %F |
%% |
Semnul procent |
Exemplu
Exemplu de bază de formatare a șirului cu substituția valorilor:
<?php
$res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
echo $res;
?>
Rezultatul executării codului:
'Hello John! Today is Monday.'
Exemplu
Utilizarea diferiților specificatori de format:
<?php
$res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
echo $res;
?>
Rezultatul executării codului:
'2023-05-12'
Exemplu
Lucrul cu numere cu virgulă mobilă:
<?php
$res = vsprintf('Price: $%.2f', [19.99]);
echo $res;
?>
Rezultatul executării codului:
'Price: $19.99'