Fungsi PHP vfprintf()
Contoh
Tulis teks ke berkas teks bernama "test.txt":
<?php $number = 9; $str = "Beijing"; $file = fopen("test.txt","w"); echo vfprintf($file,"Ada 윝a sepeda di %s.",array($number,$str)); ?>
Kode di atas akan menampilkan:
40
Berikut teks yang akan ditulis ke berkas "test.txt":
Ada 9 juta sepeda di Beijing.
Definisi dan penggunaan
Fungsi vfprintf() menulis string yang diformat ke aliran keluar yang ditentukan (contoh: berkas atau database).
Beberapa perbedaan dengan fprintf(), parameter di vfprintf() berada dalam array. Elemen array akan disisihkan ke tempat simbol % di string utama. Fungsi ini berjalan secara bertahap. Di tempat simbol % pertama, elemen array pertama disisihkan, di tempat simbol % kedua, elemen array kedua disisihkan, dan seterusnya.
Keterangan:Jika simbol % lebih banyak arg Jika parameter ada, Anda harus menggunakan penanda. Penanda disisihkan setelah simbol %, diikuti dengan angka dan "\$". Lihat contoh 2.
Fungsi yang relevan:
Sintaks
vfprintf(stream,format,argarray)
Parameter | Deskripsi |
---|---|
stream | Diperlukan. Menentukan tempat menuliskan/mengeluarkan string. |
format |
Diperlukan. Menentukan string serta bagaimana mengformat variabel di dalamnya. Nilai format yang mungkin:
Nilai format ekstra. Harus disisihkan dengan % dan huruf (contoh: %.2f):
Keterangan:Jika digunakan beberapa format value, mereka harus diurutkan seperti di atas. |
argarray | Diperlukan. Sebuah array parameter, yang akan disisipkan format Simbol % di dalam string. |
Detil teknis
Nilai kembalian: | Mengembalikan panjang string yang ditulis. |
Versi PHP: | 5+ |
更多实例
例子 1
把文本写入到文件中:
<?php $num1 = 123; $num2 = 456; $file = fopen("test.txt","w"); vfprintf($file,"%f%f",array($num1,$num2)); ?>
Teks berikut akan ditulis ke berkas "test.txt":
123.000000456.000000
例子 2
使用占位符:
<?php $number = 123; $file = fopen("test.txt","w"); vfprintf($file,"Dengan 2 desimal: %1$.2f \nTanpa desimal: %1$u",array($number)); ?>
Teks berikut akan ditulis ke berkas "test.txt":
Dengan 2 desimal: 123.00 Tanpa desimal: 123
例子 3
使用 printf() 来演示所有可能的格式值:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // ASCII 字符 50 是 2 // 注释:格式值 "%%" 返回百分号 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); // Bilangan Desimal Tanpa Tanda (positif) printf("%鑾u <br>",$num2); // Bilangan Desimal Tanpa Tanda (negatif) printf("%%f = %f <br>",$num1); // Bilangan Buatan (menurut setting lokal) printf("%%F = %F <br>",$num1); // Bilangan Buatan (tidak mengambil setting lokal) printf("%%g = %g <br>",$num1); // Pendek dari %e dan %f printf("%%G = %G <br>",$num1); // Pendek dari %E dan %f printf("%%o = %o <br>",$num1); // Bilangan Oktal printf("%%s = %s <br>",$num1); // String printf("%%x = %x <br>",$num1); // Bilangan Hexadesimal (kecil) printf("%%X = %X <br>",$num1); // Bilangan Hexadesimal (besar) printf("%%+d = %+d <br>",$num1); // Penjelasan Simbol (positif) printf("%%+d = %+d <br>",$num2); // Penjelasan Simbol (negatif) ?>