Funktsiya vsprintf

Funktsiya vsprintf sprintf ga o'xshaydi, lekin argumentlarni o'zgaruvchan sonli parametrlar o'rniga massiv shaklida qabul qiladi. Birinchi parametr sifatida format spesifikatorlari bilan andoza satri o'tkaziladi, ikkinchisi - almashtirish uchun qiymatlar massivi. Format satrida % belgisidan boshlanadigan maxsus belgilar (format spesifikatorlari) ishlatiladi, ular chiqish formatini boshqaradi.

Sintaksis

phpvsprintf(string $format, array $args);

Format spesifikatorlari

Spesifikator Ta'rif
%s Satr
%d Belgili butun son (o'nlik)
%u Belgisiz butun son (o'nlik)
%f Suzuvchi nuqtali son (lokal-ga bog'liq)
%F Suzuvchi nuqtali son (lokal-ga bog'liq emas)
%c ASCII-kod bo'yicha belgi
%x O'n oltilik tizimdagi butun son (kichik registr)
%X O'n oltilik tizimdagi butun son (katta registr)
%o Sakkizlik tizimdagi butun son
%b Ikkilik tizimdagi butun son
%e Ilmiy yozuv (kichik registr)
%E Ilmiy yozuv (katta registr)
%g %e yoki %f ning qisqa yozuvi
%G %E yoki %F ning qisqa yozuvi
%% Foiz belgisi

Misol

Qiymatlarni almashtirish bilan satrni formatlashning asosiy misoli:

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

Kodni bajarish natijasi:

php'Hello John! Today is Monday.'

Misol

Turli format spesifikatorlaridan foydalanish:

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

Kodni bajarish natijasi:

php'2023-05-12'

Misol

Suzuvchi nuqtali sonlar bilan ishlash:

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

Kodni bajarish natijasi:

php'Price: $19.99'

Shuningdek qarang

  • funktsiyani sprintf,
    bu satrni o'zgaruvchan sonli argumentlar bilan formatlaydi
  • funktsiyani printf,
    bu formatlangan satrni chiqaradi