Fungsi vfprintf()
digunakan untuk dapat menulis string yang diformat ke aliran keluaran yang ditentukan (contoh: file atau database).
Tidak seperti fprintf()
, argumen dalam vfprintf()
, ditempatkan dalam array. Elemen array akan disisipkan pada tanda persen (%) di string utama. Fungsi ini bekerja “step by step”. Pada tanda% pertama, elemen array pertama dimasukkan, pada tanda% kedua, elemen array kedua dimasukkan, dll.
Catatan: Jika ada lebih tanda% daripada argumen, maka harus menggunakan placeholder. Placeholder disisipkan setelah tanda%, dan terdiri dari nomor argumen dan “\$”. Lihat contoh dua.
Tip: Fungsi terkait: fprintf (), printf (), sprintf (), vprintf ()
dan vsprintf ()
.
vfprintf(stream,format,argarray)
Parameter | Deskripsi |
---|---|
stream | Required. Menentukan tempat untuk menulis / mengeluarkan string |
format | Required. Menentukan string dan cara memformat variabel di dalamnya. Nilai format yang memungkinkan: %% – Mengembalikan tanda persen %b – Bilangan biner %c – Karakter sesuai dengan nilai ASCI %d – Angka desimal bertanda tangan (negatif, nol atau positif) %e – Notasi ilmiah menggunakan huruf kecil (misalnya 1.2e + 2) %E – Notasi ilmiah menggunakan huruf besar (misalnya 1.2E + 2) %u – Angka desimal tak bertanda (sama dengan atau lebih besar dari nol) %f – Angka floating-point (pengaturan lokal sadar) %F – Angka floating-point (tidak diketahui pengaturan lokal) %g – lebih pendek dari% e dan% f %G – lebih pendek dari% E dan% f %o – Nomor oktal %s – String %x – Angka heksadesimal (huruf kecil) %X – Angka heksadesimal (huruf besar) Nilai format tambahan. Ini ditempatkan di antara% dan huruf (contoh% .2f): +(Memaksa + dan – di depan angka. Secara default, hanya angka negatif yang ditandai) ‘(Menentukan apa yang akan digunakan sebagai pengisi. Defaultnya adalah spasi. Harus digunakan bersama dengan penentu lebar. Contoh:%’ x20s (ini menggunakan “x” sebagai pengisi) (Kiri-membenarkan nilai variabel) [0-9] (Menentukan lebar minimum yang dipegang dari nilai variabel) . [0-9] (Menentukan jumlah digit desimal atau panjang string maksimum) Catatan: Jika beberapa nilai format tambahan digunakan, urutannya harus sama seperti di atas. |
argarray | Required. Array dengan argumen yang akan disisipkan pada tanda% dalam format string |
Return Value: | Mengembalikan panjang string tertulis |
---|---|
PHP Version: | 5+ |
Contoh 1
Tulis beberapa teks ke file teks bernama “test.txt”:
<?php $number = 9; $str = "Beijing"; $file = fopen("test.txt","w"); echo vfprintf($file,"There are %u million bicycles in %s.",array($number,$str)); ?> //Output : There are 9 million bicycles in Beijing.
Contoh 2
Tulis beberapa teks ke file:
<?php $num1 = 123; $num2 = 456; $file = fopen("test.txt","w"); vfprintf($file,"%f%f",array($num1,$num2)); ?> //Output : 123.000000456.000000
Contoh 3
Penggunaan placeholder:
<?php $number = 123; $file = fopen("test.txt","w"); vfprintf($file,"Dengan 2 desimal: %1\$.2f \nTanpa desimal: %1\$u",array($number)); ?> /* Output : Dengan 2 desimal: 123.00 Tanpa desimal: 123