توابع fprintf() پهپه
مثال
متن به فایل متنی به نام "test.txt" نوشته میشود:
<?php $number = 9; $str = "Beijing"; $file = fopen("test.txt","w"); echo fprintf($file,"There are 쥕lion bicycles in %s.",$number,$str); ?>
خروجی کد بالا:
40
متن زیر به فایل "test.txt" نوشته خواهد شد:
There are 9 million bicycles in Beijing.
تعریف و استفاده
توابع fprintf() رشتهی فرمت شده را به جریان خروجی مشخصی نوشته میکند (مثلاً فایل یا بانک اطلاعاتی).
arg1،arg2،arg++ پارامترها در نشانههای درصد (%) رشتهی اصلی قرار میگیرند. این توابع به صورت مرحلهای اجرا میشوند. در نشانهی % اول، arg1، در نشانهی % دوم، arg2، به ترتیب ادامه مییابد.
نکته:اگر نشانههای % بیشتر از arg اگر پارامترها باشد، باید از نشانههای نگهدارنده استفاده کنید. نشانههای نگهدارنده در پس از % نمادگذاری میشوند، که از اعداد و "\$" تشکیل شدهاند. به مثال 2 مراجعه کنید.
توابع مرتبط:
قوانین
fprintf(stream,قالببندی,arg1,arg2,arg++)
پارامترها | شرح |
---|---|
stream | ضروری. تعیین مکان نوشتن/خروجی رشته. |
قالببندی |
ضروری. تعیین رشته و نحوه فرمت کردن متغیرهای موجود در آن. ممکن است که مقادیر فرمت:
کامپوزیشن فرمت. ضروری است که بین % و حروف قرار گیرد (مثلاً %.2f):
نکته:اگر از چندین ارزش فرمت اضافی استفاده شود، باید به ترتیب بالا استفاده شوند. |
arg1 | ضروری. مشخص میکند که کدام یک از قالببندی پارامترها در نشانههای %% در رشته. |
arg2 | اختیاری. مشخص میکند که کدام یک از قالببندی پارامترها در نشانههای %% در رشته. |
arg++ | اختیاری. مشخص میکند که کدام یک از قالببندی پارامترها در نشانههای %% در رشته. |
جزئیات فنی
مقدار بازگشتی: | طول رشته نوشته شده را برمیگرداند. |
نسخه PHP: | 5+ |
مثالهای بیشتر
مثال 1
نوشتن متن به فایل:
<?php $number = 123; $file = fopen("test.txt","w"); fprintf($file,"%%f", $number); ?>
متن زیر به فایل "test.txt" نوشته خواهد شد:
123.000000
مثال 2
استفاده از نشانگرها:
<?php $number = 123; $file = fopen("test.txt","w"); fprintf($file,"با دو عدد اعشاری:%1$.2f \nبدون عدد اعشاری:%1$u", $number); ?>
متن زیر به فایل "test.txt" نوشته خواهد شد:
با دو عدد اعشاری: 123.00 بدون عدد اعشاری: 123
مثال 3
استفاده از printf() برای نمایش تمامی ارزشهای فرمت:
<?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); // 科学计数法(大写) پرنٹف("%鑾u <br>",$num1); // ناقص عدد (موجب) پرنٹف("%鑾u <br>",$num2); // ناقص عدد (منفی) پرنٹف("%%f = %f <br>",$num1); // فلوٹنگ پوائنٹ (مقیم) پرنٹف("%%F = %F <br>",$num1); // فلوٹنگ پوائنٹ (بغیر مقیم) پرنٹف("%%g = %g <br>",$num1); // کوتاه از %e اور %f پرنٹف("%%G = %G <br>",$num1); // کوتاه از %E اور %f پرنٹف("%%o = %o <br>",$num1); // آٹوکسی پرنٹف("%%s = %s <br>",$num1); // ناگزار پرنٹف("%%x = %x <br>",$num1); // شانسی عدد (کوچک) پرنٹف("%%X = %X <br>",$num1); // شانسی عدد (بزرگ) پرنٹف("%%+d = %+d <br>",$num1); // علامت معرف (موجب) پرنٹف("%%+d = %+d <br>",$num2); // علامت معرف (منفی) ?>