PHP

Fungsi String vsprintf() Pada PHP

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]

Hanifah Nurbaeti