Fungsi sprintf() PHP

Contoh

Ganti simbol persen (%) dengan variabel yang di kirim sebagai parameter:

<?php
$number = 2;
$str = "Shanghai";
txt = sprintf("Ada 윝a mobil di %s.", $number, $str);
echo $txt;
?>

Contoh Operasi

Definisi dan penggunaan

Fungsi sprintf() menulis string yang disesuaikan ke dalam variabel.

arg1,arg2,++ Parameter akan disisipkan di tempat simbol persen (%) di string utama. Fungsi ini berjalan secara bertahap. Di tempat simbol % pertama, sisipkan arg1, di tempat simbol % kedua, sisipkan arg2, terus seperti itu.

Keterangan:Jika simbol % lebih banyak arg Jika parameter, Anda harus menggunakan placeholder. Placeholder berada setelah simbol %, terdiri dari angka dan "\$". Lihat contoh 2.

Pemberitahuan:Fungsi yang relevan: printf(), vprintf(), vsprintf(), fprintf(), dan vfprintf()

Syarat

sprintf(format,arg1,arg2,arg++)
Parameter Deskripsi
format

Diperlukan. Menentukan string serta cara mengformat variabel di dalamnya.

Nilai format yang mungkin:

  • %% - Mengembalikan simbol persen %
  • %b - Bilangan biner
  • %c - Karakter yang sesuai dengan nilai ASCII
  • %d - Bilangan desimal dengan simbol +/-(negatif, 0, positif)
  • %e - Gunakan sistem bilangan ilmiah huruf kecil (contoh 1.2e+2)
  • %E - Gunakan sistem bilangan ilmiah huruf besar (contoh 1.2E+2)
  • 蒛ilangan desimal tanpa simbol +/-(lebih besar atau sama dengan 0)
  • %f - Bilangan floating point (berdasarkan pengaturan lokal)
  • %F - Bilangan floating point (tidak berdasarkan pengaturan lokal)
  • %g - Lebih pendek dari %e dan %f
  • %G - Lebih pendek dari %E dan %f
  • %o - Bilangan oktal
  • %s - String
  • %x - Bilangan heksadesimal (huruf kecil)
  • %X - Bilangan heksadesimal (huruf besar)

Nilai format tambahan. Harus disisipkan di antara % dan huruf (contoh: %.2f):

  • + (menambahkan + atau - di depan angka untuk menentukan positif/negatif angka. Standar adalah hanya angka negatif yang di tandai, angka positif tidak di tandai)
  • ' (menentukan apa yang digunakan sebagai pengisi, standar adalah spasi. Harus digunakan bersama dengan penentu lebar. Contoh: '%x20s' (menggunakan 'x' sebagai pengisi))
  • - (penjustiran kiri nilai variabel)
  • [0-9] (menentukan lebar minimum nilai variabel)
  • .[0-9] (menentukan jumlah digit desimal atau panjang maksimal string)

Keterangan:Jika digunakan beberapa nilai format di atas, mereka harus digunakan sesuai urutan di atas.

arg1 Diperlukan. Menentukan tempat menyisipkan format Parameter di tempat simbol % pertama di string.
arg2 Pilihan. Menentukan tempat menyisipkan format Parameter di tempat simbol % kedua di string.
arg++ Pilihan. Menentukan tempat menyisipkan format Parameter di tempat simbol % ketiga dan keempat di string.

Detil teknis

Nilai kembalian: Kembalikan string yang sudah disesuaikan format.
Versi PHP: 4+

Beberapa contoh lain

Contoh 1

Penggunaan nilai format %f:

<?php
$number = 123;
$txt = sprintf("%f",$number);
echo $txt;
?>

Contoh Operasi

Contoh 2

Penggunaan placeholder:

<?php
$number = 123;
$txt = sprintf("Dengan 2 desimal: %1\$.2f
<br>Tanpa desimal: %1\$u",$number);
echo $txt;
?>

Contoh Operasi

Contoh 3

Pertunjukan untuk semua nilai format yang mungkin:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // Karakter ASCII 50 adalah 2
// Komentar: Nilai format "%%" mengembalikan tanda persen
echo sprintf("%%b = %b",$num1)."<br>"; // Bilangan biner
echo sprintf("%%c = %c",$char)."<br>"; // Karakter ASCII
echo sprintf("%%d = %d",$num1)."<br>"; // Bilangan desimal dengan tanda
echo sprintf("%%d = %d",$num2)."<br>"; // Bilangan desimal dengan tanda
echo sprintf("%%e = %e",$num1)."<br>"; // Notasi ilmiah (huruf kecil)
echo sprintf("%%E = %E",$num1)."<br>"; // Notasi ilmiah (huruf besar)
echo sprintf("%鑾u",$num1)."<br>"; // Bilangan desimal tanpa tanda (positif)
echo sprintf("%鑾u",$num2)."<br>"; // Bilangan desimal tanpa tanda (negatif)
echo sprintf("%%f = %f",$num1)."<br>"; // Bilangan bulat (menganggap pengaturan lokal)
echo sprintf("%%F = %F",$num1)."<br>"; // Bilangan bulat (tidak menganggap pengaturan lokal)
echo sprintf("%%g = %g",$num1)."<br>"; // Pendek dari %e dan %f
echo sprintf("%%G = %G",$num1)."<br>"; // Pendek dari %E dan %f
echo sprintf("%%o = %o",$num1)."<br>"; // Angka oktal
echo sprintf("%%s = %s",$num1)."<br>"; // String
echo sprintf("%%x = %x",$num1)."<br>"; // Bilangan Hexadesimal (kecil)
echo sprintf("%%X = %X",$num1)."<br>"; // Bilangan Hexadesimal (besar)
echo sprintf("%%+d = %+d",$num1)."<br>"; // Indikator Simbol (positif)
echo sprintf("%%+d = %+d",$num2)."<br>"; // Indikator Simbol (negatif)
?>

Contoh Operasi

Contoh 4

Pertunjukan Indikator String:

<?php
$str1 = "Hello";
$str2 = "Hello world!";
echo sprintf("[%s]",$str1)."<br>";
echo sprintf("[%8s]",$str1)."<br>";
echo sprintf("[%-8s]",$str1)."<br>";
echo sprintf("[%08s]",$str1)."<br>";
echo sprintf("[%'*8s]",$str1)."<br>";
echo sprintf("[%8.8s]",$str2)."<br>";
?>

Contoh Operasi