Funktionen vsprintf

Funktionen vsprintf svarer til sprintf, men accepterer argumenter i form af en matrix, i stedet for et variabelt antal parametre. Den første parameter er en strengskabelon med formatspecifikationer, den anden er en matrix med værdier til indsættelse. Strengformatet bruger specielle tegn (formatspecifikationer), som starter med tegnet % og styrer formateringen af output.

Syntaks

phpvsprintf(string $format, array $args);

Formatspecifikationer

Specifikation Beskrivelse
%s Streng
%d Heltegn med fortegn (decimal)
%u Heltegn uden fortegn (decimal)
%f Flydende kommatal (lokaleafhængig)
%F Flydende kommatal (ikke lokaleafhængig)
%c Karakter efter ASCII-kode
%x Heltegn i hexadecimalt system (små bogstaver)
%X Heltegn i hexadecimalt system (store bogstaver)
%o Heltegn i oktalt system
%b Heltegn i binært system
%e Videnskabelig notation (små bogstaver)
%E Videnskabelig notation (store bogstaver)
%g Kort notation %e eller %f
%G Kort notation %E eller %F
%% Procenttegn

Eksempel

Grundlæggende eksempel på strengformatering med indsættelse af værdier:

php<?php
  $res = vsprintf('Hej %s! I dag er det %s.', ['John', 'mandag']);
  echo $res;
?>

Resultat af kodeudførelse:

php'Hej John! I dag er det mandag.'

Eksempel

Brug af forskellige formatspecifikationer:

php<?php
  $res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
  echo $res;
?>

Resultat af kodeudførelse:

php'2023-05-12'

Eksempel

Arbejde med flydende kommatal:

php<?php
  $res = vsprintf('Pris: $%.2f', [19.99]);
  echo $res;
?>

Resultat af kodeudførelse:

php'Pris: $19.99'

Se også

  • funktionen sprintf,
    som formaterer en streng med et variabelt antal argumenter
  • funktionen printf,
    som udskriver en formateret streng