PHP sprintf() Function












❮ مرجع رشته PHP




مثال


علامت درصد (%) را با متغیری که به عنوان آرگومان ارسال می شود جایگزین کنید:



$number = 9;
$str = "Beijing";
$txt = sprintf("%u میلیون دوچرخه در %s وجود دارد.",$number,$str);
echo $txt;
?>

این را خودتان امتحان کنید »




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


تابع sprintf() یک رشته فرمت شده را در یک متغیر می نویسد.


پارامترهای arg1، arg2، ++ در درصد (%) درج خواهند شد
علائم در رشته اصلی این تابع "گام به گام" کار می کند. در اولین علامت %،
arg1 درج شده است، در علامت % دوم، arg2 درج شده است، و غیره.


توجه: اگر % علائم بیشتر از آرگومان ها وجود دارد، باید از آن استفاده کنید
نگهدارنده های مکان پس از علامت % یک مکان نگهدار درج می شود و از علامت تشکیل شده است
آرگومان- عدد و "$". مثال دو را ببینید.


نکته: توابع مرتبط: printf()،
vprintf()،
vsprintf()،
fprintf() و
vfprintf()





نحو



sprintf(قالب، arg1، arg2، arg++)

مقادیر پارامتر













درج شود



درج شود




پارامتر توضیح
قالب لازم است. رشته و نحوه قالب بندی متغیرهای موجود در آن را مشخص می کند.

مقادیر قالب احتمالی:



  • %% - علامت درصد را برمی‌گرداند

  • %b - عدد باینری

  • %c - نویسه مطابق با مقدار ASCII

  • %d - عدد اعشاری امضا شده (منفی، صفر یا مثبت)

  • %e - نماد علمی با استفاده از حروف کوچک (مثلاً 1.2e+2)

  • %E - نماد علمی با استفاده از حروف بزرگ (مثلاً 1.2E+2)

  • %u - عدد اعشاری بدون علامت (برابر یا بزرگتر از صفر)

  • %f - عدد ممیز شناور (تنظیمات محلی آگاه هستند)

  • %F - عدد نقطه شناور (تنظیمات محلی اطلاع ندارند)

  • %g - کوتاهتر از %e و %f

  • %G - کوتاهتر از %E و %f

  • %o - عدد اکتال

  • %s - رشته

  • %x - عدد هگزادسیمال (حروف کوچک)

  • %X - عدد هگزادسیمال (حروف بزرگ)


مقادیر قالب اضافی. اینها بین % و حرف قرار می گیرند (مثال %.2f):



  • + (هر دو + و - را جلوی اعداد اعمال می کند. به طور پیش فرض، فقط اعداد منفی علامت گذاری می شوند)

  • ' (مشخص می‌کند چه چیزی به‌عنوان بالشتک استفاده شود. پیش‌فرض فاصله است. باید همراه با تعیین‌کننده عرض استفاده شود. مثال: %'x20s (از «x» به‌عنوان پد استفاده می‌شود)

  • - (سمت چپ مقدار متغیر را توجیه می کند)

  • [0-9] (حداقل عرض نگهداشته شده از مقدار متغیر را مشخص می کند)

  • .[0-9] (تعداد ارقام اعشاری یا حداکثر طول رشته را مشخص می کند)


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

arg1 لازم است. آرگومانی که باید در اولین علامت %- در رشته قالب
arg2 اختیاری. آرگومانی که باید در علامت %- دوم در رشته قالب
arg++ اختیاری. آرگومان درج در سومین، چهارمین و غیره













جزئیات فنی











مقدار بازگشتی: رشته قالب‌بندی شده را برمی‌گرداند
نسخه PHP: 4+




نمونه های بیشتر



مثال


استفاده از مقدار قالب %f:




$number = 123;

$txt = sprintf("%f",$number);

echo $txt;

?>

این را خودتان امتحان کنید »



مثال


استفاده از متغیرهایی:




$number = 123;

$txt = sprintf("با 2 اعشار: %1$.2f


بدون اعشار: %1$u,$number);

echo $txt;

?>

این را خودتان امتحان کنید »



مثال


نمایش تمام مقادیر قالب ممکن:



$num1 = 123456789;
$num2 = -123456789;
$char = 50; // کاراکتر ASCII 50 2 است

// توجه: مقدار قالب "%%" یک علامت درصد را برمی گرداند
echo sprintf("%%b = %b",$num1)."< ;br>"; // عدد باینری
echo sprintf("%%c = %c",$char)."
"; // شخصیت ASCII

echo sprintf("%%d = %d"،$num1)."
"; // عدد اعشاری امضا شده
echo sprintf("%%d = %d",$num2)."
"; // عدد اعشاری امضا شده
echo sprintf("%%e = %e",$num1)."
"; // نماد علمی (کوچک)
echo sprintf("%%E = %E",$num1)."
"; // نماد علمی (با حروف بزرگ)
echo sprintf("%%u = %u",$num1)."
"; // عدد اعشاری بدون علامت (مثبت)

echo sprintf("%%u = %u",$num2)."
"; // عدد اعشاری بدون علامت (منفی)

echo sprintf("%%f = %f",$num1)."
"; // عدد ممیز شناور (تنظیمات محلی آگاه هستند)
echo sprintf("%%F = %F",$num1)."
"; // عدد ممیز شناور (غیر از تنظیم محلی)
echo sprintf("%%g = %g",$num1)."
"; // کوتاهتر از %e و %f
echo sprintf("%%G = %G",$num1)."
"; // کوتاهتر از %E و %f
echo sprintf("%%o = %o",$num1)."
"; // عدد اکتال

echo sprintf("%%s = %s",$num1)."
"; // String
echo sprintf("%%x = %x",$num1)."
"; // عدد هگزادسیمال (کوچک)
echo sprintf("%%X = %X",$num1)."
"; // عدد هگزادسیمال (بزرگ)
echo sprintf("%%+d = %+d",$num1)."
"; // مشخص کننده علامت (مثبت)
echo sprintf("%%+d = %+d",$num2)."
"; // مشخص کننده علامت (منفی)
?>

این را خودتان امتحان کنید »



مثال


نمایش مشخص‌کننده‌های رشته:



$str1 = "سلام";
$str2 = "سلام دنیا!";

echo sprintf("[%s]",$str1)."
echo sprintf("[%8s]",$str1)."
";
echo sprintf("[%-8s]"$str1)."
";

echo sprintf("[%08s]",$str1)."
";

echo sprintf("[%'*8s]",$str1)."
";
echo sprintf("[%8.8s]",$str2)."
";
؟>

این را خودتان امتحان کنید »




❮ مرجع رشته PHP