كاراكترهای فرمتدهی vprintf() در PHP
مثال
كاراكترهای فرمتدهی خروجی:
<?php $number = 9; $str = "Beijing"; vprintf("There are 쥕lion bicycles in %s.",array($number,$str)); ?>
تعریف و كاربرد
كاراكترهای فرمتدهی vprintf() خروجی را نمایش میدهد.
برخلاف printf()، پارامترها در vprintf() در داخل آرایه قرار دارند. عناصر آرایه به جای علامت '%' در رشته اصلی جایگزین میشوند. این كاراكتر به صورت پشت سر هم انجام میشود. در اولین علامت '%'، اولین عنصر آرایه جایگزین میشود، در دومین علامت '%'، دومین عنصر آرایه جایگزین میشود و به همین ترتیب.
توضیح:اگر علامت '%' بیشتر از arg اگر پارامتر، باید از نشانهگیر استفاده كنید. نشانهگیرها در پس از علامت '%' و توسط عدد و '\$' تشكیل میشوند. به مثال 2 مراجعه كنید.
توجه:كاراكترهای مرتبط: sprintf()، printf()، vsprintf()، fprintf() و vfprintf()
جملة
vprintf(قالببندی,argarray)
پارامتر | توضیح |
---|---|
قالببندی |
ضروری. تعریف رشته و نحوه فرمتدهی متغیرهای داخل آن. ارقام فرمت ممکن:
ارقام فرمت اضافی. باید بین '%' و حرف قرار گیرند (مثلاً %.2f):
توضیح:اگر از چندین مقدار فرمت استفاده شود، باید به ترتیب بالا باشند. |
argarray | لازم است. یک آرایه با پارامترها که باید در قالببندی در مکان % در رشته. |
جزئیات فنی
مقدار بازگشتی: | طول رشتهای که خروجی دارد را برمیگرداند. |
نسخه PHP: | 4.1.0+ |
مثالهای بیشتر
مثال 1
استفاده از مقدار فرمت %f:
<?php $num1 = 123; $num2 = 456; vprintf("%f%f",array($num1,$num2)); ?>
مثال 2
استفاده از نشانگر:
<?php $number = 123; vprintf("دو عدد اعشاری:%1\$.2f<br>بدون عدد اعشاری:%1\$u",array($number)); ?>
مثال 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 ?>
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)); ?>