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

phpvsprintf(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<?php
  $res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
  echo $res;
?>

Výsledek provedení kódu:

php'Hello John! Today is Monday.'

Příklad

Použití různých formátovacích specifikátorů:

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

Výsledek provedení kódu:

php'2023-05-12'

Příklad

Práce s čísly s plovoucí desetinnou čárkou:

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

Výsledek provedení kódu:

php'Price: $19.99'

Viz také

  • funkci sprintf,
    která formátuje řetězec s proměnným počtem argumentů
  • funkci printf,
    která vypisuje naformátovaný řetězec