Home » PHP » Fungsi String vsprintf() Pada PHP

Fungsi String vsprintf() Pada PHP

by Hanifah Nurbaeti
by Hanifah Nurbaeti

Section Artikel

Definisi dan Penggunaan

Fungsi vsprintf() digunakan untuk dapat menulis string yang diformat ke variabel.

Tidak seperti sprintf(), argumen dalam vsprintf(), ditempatkan dalam array . Elemen array akan disisipkan pada tanda persen (%) di string utama. Fungsi ini bekerja “selangkah demi selangkah”. 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 (), vfprintf (), printf (), sprintf () dan vprintf ().

Syntax

vsprintf(format,argarray)

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 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.
argarrayRequired. Array dengan argumen yang akan disisipkan pada tanda% dalam format string

Detail Teknis

Return Value:Mengembalikan nilai array sebagai string yang diformat
PHP Version:4.1.0+

Detail Teknis

Contoh 1
Tulis string yang diformat ke variabel:

<?php
$number = 15;
$str = "Tokyo";
$txt = vsprintf("Ada %u juta sepseda di %s.",array($number,$str));
echo $txt;
?>
  // Output : Ada 15 juta sepeda di Tokyo.

Contoh 2
Menggunakan nilai format %f:

<?php
$num1 = 789;
$num2 = 247;
$txt = vsprintf("%f%f",array($num1,$num2));
echo $txt;
?>
  // Output : 789.000000247.000000

Contoh 3
Penggunaan placeholder:

<?php
$number = 123;
$txt = vsprintf("Dengan 2 desimal: %1\$.2f
<br>Tanpa desimal: %1\$u",array($number));
echo $txt;
?>
  /* Output: 
Dengan 2 desimal: 123.00
Tanpa desimal: 123

Contoh 4
Demonstrasi penentu string:

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

echo vsprintf("[%s]",array($str1))."<br>";
echo vsprintf("[%8s]",array($str1))."<br>";
echo vsprintf("[%-8s]",array($str1))."<br>";
echo vsprintf("[%08s]",array($str1))."<br>";
echo vsprintf("[%'*8s]",array($str1))."<br>";
echo vsprintf("[%8.8s]",array($str2))."<br>";
?>
  /* Output :
[Hello]
[ Hello]
[Hello ]
[000Hello]
[***Hello]
[Hello wo]

You may also like