كاراكترهای فرمت‌دهی vprintf() در PHP

مثال

كاراكترهای فرمت‌دهی خروجی:

<?php
$number = 9;
$str = "Beijing";
vprintf("There are 쥕lion bicycles in %s.",array($number,$str));
?>

Run Instance

تعریف و كاربرد

كاراكترهای فرمت‌دهی vprintf() خروجی را نمایش می‌دهد.

برخلاف printf()، پارامترها در vprintf() در داخل آرایه قرار دارند. عناصر آرایه به جای علامت '%' در رشته اصلی جایگزین می‌شوند. این كاراكتر به صورت پشت سر هم انجام می‌شود. در اولین علامت '%'، اولین عنصر آرایه جایگزین می‌شود، در دومین علامت '%'، دومین عنصر آرایه جایگزین می‌شود و به همین ترتیب.

توضیح:اگر علامت '%' بیشتر از arg اگر پارامتر، باید از نشانه‌گیر استفاده كنید. نشانه‌گیرها در پس از علامت '%' و توسط عدد و '\$' تشكیل می‌شوند. به مثال 2 مراجعه كنید.

توجه:كاراكترهای مرتبط: sprintf()، printf()، vsprintf()، fprintf() و vfprintf()

جملة

vprintf(قالب‌بندی,argarray)
پارامتر توضیح
قالب‌بندی

ضروری. تعریف رشته و نحوه فرمت‌دهی متغیرهای داخل آن.

ارقام فرمت ممکن:

  • %% - بازگشت به یک علامت درصد %
  • %b - عدد دو‌ساعته
  • %c - كاراكتر مربوط به كد ASCII
  • %d - عدد دسیمال با علامت (عدد منفی، 0، عدد مثبت)
  • %e - استفاده از شكل علمی با حروف كوچك (مثلاً 1.2e+2)
  • %E - استفاده از شكل علمی با حروف بزرگ (مثلاً 1.2E+2)
  • 誒دد دسیمال بدون علامت (بزرگتر یا برابر با 0)
  • %f - عدد اعشاری (تنظیمات محلی)
  • %F - عدد اعشاری (تنظیمات محلی نیست)
  • %g - %e و %f كوتاه‌تر
  • %G - %E و %f كوتاه‌تر
  • %o - عدد هشت‌ساعته
  • %s - رشته
  • %x - عدد شانزده‌ساعته (حروف كوچك)
  • %X - عدد شانزده‌ساعته (حروف بزرگ)

ارقام فرمت اضافی. باید بین '%' و حرف قرار گیرند (مثلاً %.2f):

  • + (افزودن '+' یا '-' به جلو اعداد برای تعریف مثبت یا منفی بودن اعداد. به طور پیش‌فرض، فقط اعداد منفی دارای علامت هستند و اعداد مثبت علامت ندارند)
  • واحد ('محدد استفاده از چه چیزی به عنوان پرکننده، پیش‌فرض فاصله است. باید با تنظیم‌کننده عرض استفاده شود. به عنوان مثال: '%'x20s (استفاده از 'x' به عنوان پرکننده))
  • - (تنظیم ارزش متغیر به چپ)
  • [0-9] (محدد عرض اعداد كوچكتر)
  • .[0-9] (تعیین تعداد اعشار یا طول حداکثر رشته)

توضیح:اگر از چندین مقدار فرمت استفاده شود، باید به ترتیب بالا باشند.

argarray لازم است. یک آرایه با پارامترها که باید در قالب‌بندی در مکان % در رشته.

جزئیات فنی

مقدار بازگشتی: طول رشته‌ای که خروجی دارد را برمی‌گرداند.
نسخه PHP: 4.1.0+

مثال‌های بیشتر

مثال 1

استفاده از مقدار فرمت %f:

<?php
$num1 = 123;
$num2 = 456;
vprintf("%f%f",array($num1,$num2));
?>

Run Instance

مثال 2

استفاده از نشان‌گر:

<?php
$number = 123;
vprintf("دو عدد اعشاری:%1\$.2f<br>بدون عدد اعشاری:%1\$u",array($number));
?>

Run Instance

مثال 3

استفاده از printf() برای نمایش تمامی مقادیر فرمت‌پذیر ممکن:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // کاراکتر ASCII 50 معادل 2 است
// توضیح: مقدار فرمت "%%" برمی‌گردد به علامت درصد
printf("%%b = %b <br>",$num1); // عدد دو بیتی
printf("%%c = %c <br>",$char); // کاراکتر ASCII
printf("%%d = %d <br>",$num1); // عدد اعشاری (با علامت)
printf("%%d = %d <br>",$num2); // عدد اعشاری (با علامت)
printf("%%e = %e <br>",$num1); // شکل علمی (کوچک)
printf("%%E = %E <br>",$num1); // شکل علمی (بزرگ)
printf("%鑾u <br>",$num1); // عدد اکسیادی (مثبت)
printf("%鑾u <br>",$num2); // عدد اکسیادی (منفی)
printf("%%f = %f <br>",$num1); // عدد اعشاری (با توجه به تنظیمات محلی)
printf("%%F = %F <br>",$num1); // عدد اعشاری (بدون توجه به تنظیمات محلی)
printf("%%g = %g <br>",$num1); // کوتاهتر از %e و %f
printf("%%G = %G <br>",$num1); // کوتاهتر از %E و %f
printf("%%o = %o <br>",$num1); // Octal Number
printf("%%s = %s <br>",$num1); // String
printf("%%x = %x <br>",$num1); // Hexadecimal Number (Lowercase)
printf("%%X = %X <br>",$num1); // Hexadecimal Number (Uppercase)
printf("%%+d = %+d <br>",$num1); // Positive Sign Specifier
printf("%%+d = %+d <br>",$num2); // Negative Sign Specifier
?>

Run Instance

Example 4

Demonstration of String Specifiers:

<?php
$str1 = "Hello";
$str2 = "Hello world!";
vprintf("[%s]<br>",array($str1));
vprintf("[%8s]<br>",array($str1));
vprintf("[%-8s]<br>",array($str1));
vprintf("[%08s]<br>",array($str1));
vprintf("[%'*8s]<br>",array($str1));
vprintf("[%8.8s]<br>",array($str2));
?>

Run Instance