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 | ضروری ہے۔ اشارتی الفاظ کو کس جگہ لکھنا یا اخراج کرنا ہوگا، طے کرتا ہے۔ |
فرمت |
ضروری ہے۔ اشارتی الفاظ اور ان کی فرمٹنگ کا معیار طے کرتا ہے۔ ممکنہ قابل نمائش کی وضاحت:
قابل نمائش کی اضافی وضاحت۔% اور حرف کے درمیان رکھنا ضروری ہے (مثلاً %.2f):
ک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); // توضیح نشاندهنده (منفی) ?>