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.


ULASHISH

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:

  • %% - Foiz belgisini qaytaradi
  • %b - Ikkilik son
  • %c - ASCII qiymatiga mos belgi
  • %d - Ishorali o‘nlik son (manfiy, nol yoki musbat)
  • %e - Kichik harf bilan ilmiy yozuv (masalan, 1.2e+2)
  • %E - Katta harf bilan ilmiy yozuv (masalan, 1.2E+2)
  • %u - Ishorasiz o‘nlik son (noldan katta yoki unga teng)
  • %f - Suzuvchi nuqtali son (mahalliy sozlamalarni hisobga oladi)
  • %F - Suzuvchi nuqtali son (mahalliy sozlamalarni hisobga olmaydi)
  • %g - %e va %f dan qisqarog‘i
  • %G - %E va %f dan qisqarog‘i
  • %o - Sakkizlik son
  • %s - String
  • %x - O‘n oltilik son (kichik harflar)
  • %X - O‘n oltilik son (katta harflar)

Qo‘shimcha format qiymatlari. Ular % va harf orasiga qo‘yiladi (masalan, %.2f):

  • + (Sonlar oldiga + va - belgilarini majburan qo‘yadi. Standart holatda faqat manfiy sonlar belgilanadi)
  • ' (To‘ldiruvchi (padding) sifatida nima ishlatilishini belgilaydi. Standart qiymat — probel. Kenglik spetsifikatori bilan birga ishlatilishi shart. Masalan: %'x20s (bunda to‘ldiruvchi sifatida "x" ishlatiladi)
  • - (O‘zgaruvchi qiymatini chapga tekislaydi)
  • [0-9] (O‘zgaruvchi qiymati uchun ajratiladigan minimal kenglikni belgilaydi)
  • .[0-9] (O‘nli kasr xonalari sonini yoki stringning maksimal uzunligini belgilaydi)

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!