vfprintf()
PHP vfprintf() funksiyasi
❮ PHP string funksiyalari ma’lumotnomasi
Misol
"test.txt" nomli matn fayliga biror matn yozing:
<?php
$number = 9;
$str = "Beijing";
$file = fopen("test.txt","w");
echo vfprintf($file,"There are %u million bicycles in %s.",array($number,$str));
?>
Yuqoridagi kodning natijasi quyidagicha bo‘ladi:
40
"test.txt" fayliga quyidagi matn yoziladi:
There are 9 million bicycles in Beijing.
Ta’rif va qo‘llanilishi
vfprintf() funksiyasi formatlangan stringni ko‘rsatilgan chiqish oqimiga (masalan, fayl yoki ma’lumotlar bazasiga) yozadi.
fprintf() funksiyasidan farqli ravishda, vfprintf() funksiyasidagi argumentlar massivga joylashtiriladi. Massiv elementlari asosiy stringdagi foiz (%) belgilari o‘rniga qo‘yiladi. Bu funksiya "bosqichma-bosqich" ishlaydi: birinchi % belgisi o‘rniga massivning birinchi elementi, ikkinchi % belgisi o‘rniga ikkinchi elementi qo‘yiladi va hokazo.
Eslatma: Agar % belgilari argumentlardan ko‘p bo‘lsa, joy egalaridan (placeholders) foydalanishingiz kerak. Joy egasi % belgisidan keyin qo‘yiladi va argument raqami hamda "\$" dan iborat bo‘ladi. Ikkinchi misolga qarang.
Maslahat: Tegishli funksiyalar: fprintf(), printf(), sprintf(), vprintf() va vsprintf().
Sintaksis
vfprintf(stream,format,argarray)
Parametr qiymatlari
| Parametr | Tavsif |
|---|---|
| stream | Majburiy. Stringni qayerga yozish/chiqarish kerakligini belgilaydi |
| format | Majburiy. Stringni va undagi o‘zgaruvchilarni qanday formatlashni belgilaydi. Mumkin bo‘lgan format qiymatlari:
Qo‘shimcha format qiymatlari. Ular % va harf orasiga qo‘yiladi (masalan, %.2f):
Eslatma: Agar bir nechta qo‘shimcha format qiymatlari ishlatilsa, ular yuqoridagi tartibda bo‘lishi shart. |
| argarray | Majburiy. Format stringidagi % belgilari o‘rniga qo‘yiladigan argumentlardan iborat massiv |
Texnik tafsilotlar
| Qaytariladigan qiymat: | Yozilgan stringning uzunligini qaytaradi |
|---|---|
| PHP versiyasi: | 5+ |
Ko‘proq misollar
Misol
Faylga biror matn yozing:
<?php
$num1 = 123;
$num2 = 456;
$file = fopen("test.txt","w");
vfprintf($file,"%f%f",array($num1,$num2));
?>
"test.txt" fayliga quyidagi matn yoziladi:
123.000000456.000000
Misol
Joy egalaridan (placeholders) foydalanish:
<?php
$number = 123;
$file = fopen("test.txt","w");
vfprintf($file,"With 2 decimals: %1\$.2f
\nWith no decimals: %1\$u",array($number));
?>
"test.txt" fayliga quyidagi matn yoziladi:
With 2 decimals: 123.00
With no decimals: 123
Misol
Barcha mumkin bo‘lgan format qiymatlarini namoyish qilish uchun printf() funksiyasidan foydalaning:
<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // The ASCII Character 50 is 2
// Note: The format value "%%" returns a percent sign
printf("%%b = %b <br>",$num1); // Binary number
printf("%%c = %c <br>",$char); // The ASCII Character
printf("%%d = %d <br>",$num1); // Signed decimal number
printf("%%d = %d <br>",$num2); // Signed decimal number
printf("%%e = %e <br>",$num1); // Scientific notation (lowercase)
printf("%%E = %E <br>",$num1); // Scientific notation (uppercase)
printf("%%u = %u <br>",$num1); // Unsigned decimal number (positive)
printf("%%u = %u <br>",$num2); // Unsigned decimal number (negative)
printf("%%f = %f <br>",$num1); // Floating-point number (local settings aware)
printf("%%F = %F <br>",$num1); // Floating-point number (not local settings aware)
printf("%%g = %g <br>",$num1); // Shorter of %e and %f
printf("%%G = %G <br>",$num1); // Shorter of %E and %f
printf("%%o = %o <br>",$num1); // Octal number
printf("%%s = %s <br>",$num1); // String
printf("%%x = %x <br>",$num1); // Hexadecimal number (lowercase)
printf("%%X = %X <br>",$num1); // Hexadecimal number (uppercase)
printf("%%+d = %+d <br>",$num1); // Sign specifier (positive)
printf("%%+d = %+d <br>",$num2); // Sign specifier (negative)
?>
O‘zingiz sinab ko‘ring »
❮ PHP string funksiyalari ma’lumotnomasi
W3Schools Pathfinder
Yutuqlaringizni kuzating – bu bepul!
