Home » PHP » Fungsi String printf() Pada PHP

Fungsi String printf() Pada PHP

by Hanifah Nurbaeti
by Hanifah Nurbaeti

Section Artikel

Definisi dan Penggunaan

Fungsi printf() digunakan untuk dapat mengeluarkan string yang diformat.

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 “\$”.

Tip: Fungsi terkait: sprintf(), vprintf(), vsprintf(), fprintf() dan vfprintf()

Syntax

printf(format,arg1,arg2,arg++)

Nilai Parameter

ParameterDeskripsi
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% -sign pertama dalam format string
arg2Optional. Argumen yang akan disisipkan di% -sign kedua dalam format string
arg++Optional. Argumen yang akan disisipkan di ketiga, keempat, dll.% -Sign dalam format string

Detail Teknis

Return Value:Mengembalikan panjang string yang dihasilkan
PHP Version:4+

Contoh 1
Keluarkan string yang diformat:

<?php
$number = 9;
$str = "Beijing";
printf("Ada %u juta sepeda di %s.",$number,$str);
?>
  /* Output :
Ada 9 juta sepeda di Beijing.

Contoh 2
Menggunakan nilai format% f:

<?php
$number = 123;
printf("%f",$number);
?>
  /* Output :
123.000000

Contoh 3
Penggunaan placeholder:

<?php
$number = 476;
printf("Dengan 2 desimal: %1\$.2f
<br>Tanpa desimal: %1\$u",$number);
?>
  /*Output :
Dengan 2 desimal: 476.00
Tanpa desimal: 476

Contoh 4
Demonstrasi semua nilai format yang mungkin:

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

// Note: Nilai format "%%" mengembalikan tanda persen
printf("%%b = %b <br>",$num1); // Binary number
printf("%%c = %c <br>",$char); // The ASCII Character
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 tanganr (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 heksadesimal (lowercase)
printf("%%X = %X <br>",$num1); // Bilangan heksadesimal (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

Contoh 5
Demonstrasi penentu string:

<?php
$str1 = "Hello";
$str2 = "Hello world!";

printf("[%s]<br>",$str1); // String
printf("[%8s]<br>",$str1); // Membenarkan string dengan spasi
printf("[%-8s]<br>",$str1); // Membenarkan nilai string dengan spasi
printf("[%08s]<br>",$str1); // Zero-padding
printf("[%'*8s]<br>",$str1); // Menambahkan "*"
printf("[%8.8s]<br>",$str2); // Membenarkan string dengan spasi (memotong karakter setelah nilai yang ditentukan)
?>
  /*Output :
[Hello]
[ Hello]
[Hello ]
[000Hello]
[***Hello]
[Hello wo]

You may also like