توابع printf() PHP
مثال
رشته فرمتدهی نمایش داده میشود:
<?php $number = 9; $str = "پکن"; printf("در%s تعداد رخه وجود دارد.", $str, $number); ?>
تعریف و نحوه استفاده
printf() توابع رشتههای فرمتدهی را نمایش میدهد.
arg1،arg2،arg++ پارامترها به ترتیب به جای علامتهای % در رشته اصلی قرار میگیرند. این توابع به صورت مرحلهای اجرا میشوند. در اولین علامت %، arg1، در جایی که دومین علامت % قرار دارد، arg2، به ترتیب.
توضیح:اگر علامت % بیشتر از arg اگر پارامتر، باید از جایگیرنده استفاده کنید. جایگیرنده پس از علامت %، با عدد و "\$" تشکیل میشود. به مثال 2 مراجعه کنید.
توجه:توابع مرتبط: sprintf()، vprintf()، vsprintf()، fprintf() و vfprintf()
نحوه استفاده
printf(format,arg1,arg2,arg++)
پارامتر | توضیح |
---|---|
format |
ضروری. تعریف رشته و نحوه فرمتدهی متغیرهای موجود در آن. ارزشهای فرمت ممکن:
ارزشهای فرمت اضافی. باید بین % و حرف قرار گیرند (مثلاً %.2f):
توضیح:اگر از چندین مقادیر فرمت بالا استفاده شود، باید به ترتیب بالا استفاده شوند و تغییر نکنند. |
arg1 | ضروری. مقادیر را به format نشانه اول % در رشته. |
arg2 | ضروری. مقادیر را به format نشانه دوم % در رشته. |
arg++ | اختیاری. مقادیر را به format پارامترها در نشانههای % سوم، چهارم و غیره در رشته. |
جزئیات فنی
مقدار بازگشتی: | طول رشتهای که خروجی داده شده را برمیگرداند. |
نسخه PHP: | 4+ |
مثالهای بیشتری
مثال 1
استفاده از مقادیر فرمت %f:
<?php $number = 123; printf("%f",$number); ?>
مثال 2
استفاده از جایگیرنده:
<?php $number = 123; printf("دو عدد اعشار:%1\$.2f<br>بدون اعشار:%1\$u",$number); ?>
مثال 3
نمایش تمامی مقادیر ممکن فرمتها:
<?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); // Shorter than %E and %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 Indicator printf("%%+d = %+d <br>", $num2); // Negative Sign Indicator ?>
Example 4
Demonstration of String Identifiers:
<?php $str1 = "Hello"; $str2 = "Hello world!"; printf("[%s]<br>", $str1); printf("[%8s]<br>", $str1); printf("[%-8s]<br>", $str1); printf("[%08s]<br>", $str1); printf("[%'*8s]<br>", $str1); printf("[%8.8s]<br>", $str2); ?>