توابع printf() PHP

مثال

رشته فرمت‌دهی نمایش داده می‌شود:

<?php
$number = 9;
$str = "پکن";
printf("در%s تعداد رخه وجود دارد.", $str, $number);
?>

Run Instances

تعریف و نحوه استفاده

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

Run Instances

مثال 2

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

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

Run Instances

مثال 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
?>

Run Instances

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

Run Instances