Функсияи vsprintf

Функсияи vsprintf монанди sprintf аст, вале аргументҳоро ба сурати массив мегирад, на чанд параметри тағирёбанда. Параметри аввал сатри қолаб бо спецификаторҳои формат дода мешавад, дуюм - массиви арзишҳо барои ҷойгузорӣ. Дар сатри формат аломатҳои махсус (спецификаторҳои форматии) истифода мешаванд, ки бо аломати % шурӯъ шуда ва формати рушдиро идора мекунанд.

Синтаксис

phpvsprintf(string $format, array $args);

Спецификаторҳои форматии

Спецификатор Тавсиф
%s Сатр
%d Адади бутуни бо имзо (даҳӣ)
%u Адади бутуни бе имзо (даҳӣ)
%f Адади нуқтаи сиёр (вобаста ба локал)
%F Адади нуқтаи сиёр (нвобаста ба локал)
%c Аломат бо рамзи ASCII
%x Адади бутун дар системаи шонздаҳӣ (ҳуруфи хурд)
%X Адади бутун дар системаи шонздаҳӣ (ҳуруфи калон)
%o Адади бутун дар системаи ҳаштӣ
%b Адади бутун дар системаи дуӣ
%e Навишти илмӣ (ҳуруфи хурд)
%E Навишти илмӣ (ҳуруфи калон)
%g Навишти кӯтоҳи %e ё %f
%G Навишти кӯтоҳи %E ё %F
%% Аломати фоиз

Мисол

Мисоли асосии формат кардани сатр бо ҷойгузории арзишҳо:

php<?php
  $res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
  echo $res;
?>

Натиҷаи иҷрои код:

php'Hello John! Today is Monday.'

Мисол

Истифода аз спецификаторҳои гуногуни формат:

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

Натиҷаи иҷрои код:

php'2023-05-12'

Мисол

Кор бо ададҳои нуқтаи сиёр:

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

Натиҷаи иҷрои код:

php'Price: $19.99'

Ҳамчунин бубинед

  • функсияи sprintf,
    ки сатрро бо шумораи тағирёбандаи аргументҳо формат мекунад
  • функсияи printf,
    ки сатри форматшударо чоп мекунад