vfprintf
با «فرمت دهی خروجی با vfprintf» می توانی متن قالب بندی شده را مستقیم در فایل یا خروجی بنویسی. «جریان خروجی (Stream)» یعنی مقصد نوشتن؛ مثل فایل.
فرمت دهی خروجی با vfprintf چیست؟
تابع vfprintf() یک رشته قالب بندی شده را در «جریان خروجی» می نویسد. آرگومان ها در یک آرایه می آیند و به ترتیب جایگزین درصدها می شوند.
سینتکس
vfprintf(stream, format, argarray)
مثال 1: نوشتن متن قالب بندی شده در فایل
عدد و شهر از آرایه وارد متن می شوند و در فایل ذخیره می گردند.
<?php
$number = 9;
$str = "Beijing";
$file = fopen("test.txt", "w");
echo vfprintf($file, "There are %u million bicycles in %s.", array($number, $str));
?>
مثال 2: استفاده از جای نگهدارها (Placeholders)
با %1$ می توانی یک آرگومان را چند بار و با قالب های مختلف استفاده کنی.
<?php
$number = 123;
$file = fopen("test.txt", "w");
vfprintf($file, "With 2 decimals: %1\$.2f\nWith no decimals: %1\$u", array($number));
?>
فرمت های رایج قالب بندی
نمونه کامل با printf() فرمت ها را نشان می دهد؛ همان قوانین در vfprintf() هم کاربرد دارند.
<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50;
printf("%%b = %b <br>", $num1);
printf("%%c = %c <br>", $char);
printf("%%d = %d <br>", $num1);
printf("%%d = %d <br>", $num2);
printf("%%e = %e <br>", $num1);
printf("%%E = %E <br>", $num1);
printf("%%u = %u <br>", $num1);
printf("%%u = %u <br>", $num2);
printf("%%f = %f <br>", $num1);
printf("%%F = %F <br>", $num1);
printf("%%g = %g <br>", $num1);
printf("%%G = %G <br>", $num1);
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);
?>
نکات مهم قالب ها و ترتیب
%%خودش درصد چاپ می کند.%sرشته است؛%dعدد صحیح؛%fاعشاری.- مقادیر اضافی مانند
+.2f%باید به ترتیب درست بیایند.
پیوندهای مرتبط
- fprintf برای نوشتن با آرگومان های جداگانه.
- vprintf برای چاپ روی خروجی استاندارد.
- sprintf برای ساخت رشته بدون نوشتن در فایل.
گام های عملی
- فایل مقصد را با
fopenباز کن. - رشته قالب و آرایه مقادیر را آماده کن.
vfprintf($file, $format, $args)را اجرا کن.
جمع بندی سریع
- آرگومان ها را در آرایه بده.
- با
%1$یک مقدار را تکرار کن. - قالب ها را به ترتیب درست بنویس.
- خروجی مستقیم در فایل ذخیره می شود.