Функция 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 функцияси,
    форматланган сатрни чиқаради