توابع 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

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

ممکن‌ترین مقادیر فرمت:

  • %% - بازگشت یک علامت درصد %
  • %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):

  • + (在数字前面加上 + 或 - 来定义数字的正负性。默认地,只有负数做标记,正数不做标记)
  • (规定使用什么作为填充,默认是空格。它必须与宽度指定器一起使用。)
  • - (چپ‌چین کردن ارزش رشته)
  • .[0-9] (تعیین حداقل عرض رشته)
  • .[0-9] (تعیین تعداد اعشار یا طول بیشینه رشته)

توجه:اگر از چندین ارزش فرمت بالا استفاده می‌کنید، باید به ترتیب بالا استفاده شوند و نباید بهم ریخته شوند.

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);
?>

مثال‌های اجرایی