توابع 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); // کوتاهتر از %E و %f printf("%%o = %o <br>",$num1); // شمارههای هشتدهی printf("%%s = %s <br>",$num1); // رشتهها printf("%%x = %x <br>",$num1); // شمارههای هشتی (کوچک) printf("%%X = %X <br>",$num1); // شمارههای هشتی (بزرگ) printf("%%+d = %+d <br>",$num1); // نشانگر (مثبت) printf("%%+d = %+d <br>",$num2); // توضیح نشانگر (منفی) ?>
مثال 4
نمایش نکات استرینگ:
<?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); ?>