Home » PHP » Fungsi String fprintf() Pada PHP

Fungsi String fprintf() Pada PHP

by Hanifah Nurbaeti
by Hanifah Nurbaeti

Section Artikel

Definisi dan Penggunaan

Fungsi fprintf() digunakan untuk dapat menulis string yang diformat ke aliran keluaran yang ditentukan (contoh: file atau database).

Parameter arg1, arg2, ++ akan disisipkan pada tanda persen (%) di string utama. Fungsi ini bekerja “step by step”. Pada tanda% pertama, arg1 dimasukkan, pada tanda% kedua, arg2 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: printf (), sprintf (), vprintf (), vsprintf () dan vfprintf ()

Syntax

fprintf(stream,format,arg1,arg2,arg++)

Nilai Parameter

ParameterDeskripsi
streamRequired. Menentukan tempat untuk menulis / mengeluarkan string
formatRequired. Menentukan string dan cara memformat variabel di dalamnya.

Nilai format yang memungkinkan:

%% – Mengembalikan tanda persen
% b – Bilangan biner
% c – Karakter sesuai dengan nilai ASCII
% 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.
arg1Required. Argumen yang akan disisipkan di%pertama -sign dalam format string
arg2Optional. Argumen yang akan disisipkan di%kedua -sign dalam format string
arg++Optional. Argumen yang akan disisipkan di ketiga, keempat, dll.tanda% -Sign dalam format string

Detail Teknis

Return Value:Mengembalikan panjang string yang 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 fprintf($file,"Ada %u juta sepeda di %s.",$number,$str);
?>
  /* Output :
40
Ada 9 juta sepeda di Beijing.

Contoh 2
Tulis beberapa teks ke file:

<?php
$number = 145;
$file = fopen("test.txt","w");
fprintf($file,"%f",$number);
?>
  //Output : 145.000000

Contoh 3
Penggunaan placeholder:

<?php
$number = 123;
$file = fopen("test.txt","w");
fprintf($file,"Dengan 2 desimal: %1\$.2f
\nTanpa desimal: %1\$u",$number);
?>
  /* output :
Dengan 2 desimal: 123.00
Tanpa desimal: 123

Contoh 4
Menggunakan printf() untuk mendemonstrasikan semua kemungkinan nilai format:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // Karakter ASCII 50 adalah 2

// Catatan: Nilai format "%%" mengembalikan tanda persen
printf("%%b = %b <br>",$num1); // Binary number
printf("%%c = %c <br>",$char); // ASCII karakter
printf("%%d = %d <br>",$num1); // Angka desimal bertanda tangan
printf("%%d = %d <br>",$num2); // Angka desimal bertanda tangan
printf("%%e = %e <br>",$num1); // Notasi ilmiah (lowercase)
printf("%%E = %E <br>",$num1); // Notasi ilmiah (uppercase)
printf("%%u = %u <br>",$num1); // Angka desimal tak bertanda tangan (positive)
printf("%%u = %u <br>",$num2); // Angka desimal tak bertanda tangan (negative)
printf("%%f = %f <br>",$num1); // Angka floating-point (local settings aware)
printf("%%F = %F <br>",$num1); // Angka floating-point (not local settings aware)
printf("%%g = %g <br>",$num1); // Lebih pendek dari %e dan %f
printf("%%G = %G <br>",$num1); // Lebih pendek dari %E dan %f
printf("%%o = %o <br>",$num1); // Octal number
printf("%%s = %s <br>",$num1); // String
printf("%%x = %x <br>",$num1); // Bilangan Hexadecimal  (lowercase)
printf("%%X = %X <br>",$num1); // Bilangan Hexadecimal  (uppercase)
printf("%%+d = %+d <br>",$num1); // Sign specifier (positive)
printf("%%+d = %+d <br>",$num2); // Sign specifier (negative)
?>
  /* Output :
%b = 111010110111100110100010101
%c = 2
%d = 123456789
%d = -123456789
%e = 1.234568e+8
%E = 1.234568E+8
%u = 123456789
%u = 18446744073586094827
%f = 123456789.000000
%F = 123456789.000000
%g = 1.23457e+8
%G = 1.23457E+8
%o = 726746425
%s = 123456789
%x = 75bcd15
%X = 75BCD15
%+d = +123456789
%+d = -123456789

You may also like