PHP vfprintf() فونکشن

مثال

متن کو فائل "test.txt" میں لکھ دیا جائے گا:

<?php
$number = 9;
$str = "Beijing";
$file = fopen("test.txt","w");
echo vfprintf($file,"There are 쥕lion bicycles in %s.",array($number,$str));
?>

مذکورہ بالا کوڈ کا اخراج:

40

مندرجہ بالا متن فائل "test.txt" میں لکھا جائے گا:

بکنگ میں 9 ملین سائیکلز موجود ہیں。

تعریف اور کاربرد

vfprintf() فونکشن فرمٹ کئے سٹرنگ کو مقررہ آؤٹ پُٹ سٹریم میں لکھ دیتا ہے (مثلاً فائل یا ڈاٹا بیس)

fprintf() سے متضاد، vfprintf() میں پارامتر ایک آرائی کے اندر آتے ہیں۔آرائی کے عناصر پریما سٹرنگ میں % علامت کے جگہ داخل کئے جائیں گے۔یہ فونکشن مرحلے وار طریقے سے چلتی ہے۔پہلے % علامت کے جگہ پہلے آرائی عنصر داخل کیا جائے گا، دوسرے % علامت کے جگہ دوسرے آرائی عنصر داخل کیا جائے گا، اور اسی طرح جاری رہتی ہے۔

کoment:اگر % علامت زیادہ سے زیادہ ہوتی ہیں، arg پارامتر، تو آپ کو پوزیٹر استعمال کریں گے۔پوزیٹر % علامت کے بعد داخل کی جاتی ہیں، جو نمبر اور "\$" سے ملتی ہیں۔مثال دیکھیے 2۔

مربوط فونکشن:

قواعد

vfprintf(stream,فرمت,argarray)
پارامتر وصف
stream ضروری ہے۔ اشارتی الفاظ کو کس جگہ لکھنا یا اخراج کرنا ہوگا، طے کرتا ہے۔
فرمت

ضروری ہے۔ اشارتی الفاظ اور ان کی فرمٹنگ کا معیار طے کرتا ہے۔

ممکنہ قابل نمائش کی وضاحت:

  • %% - ایک فیصد نمبر % واپس لے سکتا ہے
  • %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):

  • +(سوئی سے نمبر کو مثبت یا منفی بنانے کے لئے '+' یا '-' استعمال کریں۔مقصد سے، صرف منفی نمبروں کو نمبر کیا جاتا ہے، مثبت نمبروں کو نہیں نمبر کیا جاتا۔)
  • ' (تعیین چیزی که به عنوان پرکننده استفاده می‌شود، پیش‌فرض فضاست. باید با معیار عرض استفاده شود. مثلاً: '%x20s' (از 'x' به عنوان پرکننده استفاده می‌شود))}
  • - (چپ تنظیم عدد)
  • .[0-9] (تعیین حداقل عرض عدد)
  • .[0-9] (تعیین تعداد اعداد اعشاری یا طول بیشترین رشته)

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

argarray ضروری. یک آرایه با پارامترها، که در آن‌ها جایگزین می‌شوند. فرمت در نشانه‌های % در رشته.

جزئیات فنی

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

مثال‌های بیشتر

مثال 1

نوشتن متن به فایل:

<?php
$num1 = 123;
$num2 = 456;
$file = fopen("test.txt","w");
vfprintf($file,"%f%f",array($num1,$num2));
?>

متن زیر به فایل "test.txt" نوشته خواهد شد:

123.000000456.000000

مثال 2

استفاده از علامت‌های جایگزین:

<?php
$number = 123;
$file = fopen("test.txt","w");
vfprintf($file,"With 2 decimals: %1$.2f
\nبدون اعداد اعشاری: %1$u",array($number));
?>

متن زیر به فایل "test.txt" نوشته خواهد شد:

با 2 عدد اعشاری: 123.00
بدون اعداد اعشاری: 123

مثال 3

استفاده از printf() برای نمایش تمامی فرمت‌های ممکن:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // حرف ASCII 50 است 2
// کoment: فرمت کیارای "%%" بازگشت نشانه درصد می‌دهد
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); // توضیح نشان‌دهنده (منفی)
?>

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