Fungsi sprintf() PHP

Contoh

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

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

Contoh Berjalan

Definisi dan penggunaan

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

arg1,arg2,++ Parameter akan disisipkan ke tempat simbol persen (%) dalam string utama. Fungsi ini adalah dieksekusi secara bertahap. Di tempat simbol % pertama, sisipkan arg1, di tempat simbol % kedua, sisipkan arg2, dan seterusnya.

Keterangan:Jika simbol % lebih banyak daripada arg Jika parameter, anda harus menggunakan penanda. Penanda berada setelah simbol %, berupa angka dan "\$". Lihat contoh 2.

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

Syarat

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

Diperlukan. Tentukan string serta cara pengformatan variabel di dalamnya.

Nilai format yang mungkin:

  • %% - Mengembalikan simbol persen %
  • %b - Bilangan biner
  • %c - Karakter yang sebanding 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 (diatur setempat)
  • %F - Bilangan floating-point (tidak diatur setempat)
  • %g - Lebih pendek daripada %e dan %f
  • %G - Lebih pendek daripada %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):

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

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

arg1 Diperlukan. Tentukan untuk disisipkan ke format Paraameter di tempat simbol % pertama dalam string.
arg2 Pilihan. Tentukan untuk disisipkan ke format Paraameter di tempat simbol % kedua dalam string.
arg++ Pilihan. Tentukan untuk disisipkan ke format Paraameter di tempat simbol % ketiga dan keempat dalam string.

技术细节

返回值: 返回已格式化的字符串。
PHP 版本: 4+

更多实例

例子 1

使用格式值 %f:

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

Contoh Berjalan

例子 2

使用占位符:

<?php
$number = 123;
$txt = sprintf("带两位小数:%1\$.2f
<br>不带小数:%1\$u",$number);
echo $txt;
?>

Contoh Berjalan

例子 3

对所有可能的格式值的演示:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // ASCII 字符 50 是 2
// 注释:格式值 "%%" 返回百分号
echo sprintf("%%b = %b",$num1)."<br>"; // 二进制数
echo sprintf("%%c = %c",$char)."<br>"; // ASCII 字符
echo sprintf("%%d = %d",$num1)."<br>"; // 带符号的十进制数
echo sprintf("%%d = %d",$num2)."<br>"; // 带符号的十进制数
echo sprintf("%%e = %e",$num1)."<br>"; // 科学计数法(小写)
echo sprintf("%%E = %E",$num1)."<br>"; // 科学计数法(大写)
echo sprintf("%鑾u",$num1)."<br>"; // 无符号十进制数(正)
echo sprintf("%鑾u",$num2)."<br>"; // 无符号十进制数(负)
echo sprintf("%%f = %f",$num1)."<br>"; // 浮点数(视本地设置)
echo sprintf("%%F = %F",$num1)."<br>"; // 浮点数(不视本地设置)
echo sprintf("%%g = %g",$num1)."<br>"; // 短于 %e 和 %f
echo sprintf("%%G = %G",$num1)."<br>"; // 短于 %E 和 %f
echo sprintf("%%o = %o",$num1)."<br>"; // 数字 8 位
echo sprintf("%%s = %s",$num1)."<br>"; // Teks
echo sprintf("%%x = %x",$num1)."<br>"; // Bilangan heksadesimal (kecil)
echo sprintf("%%X = %X",$num1)."<br>"; // Bilangan heksadesimal (besar)
echo sprintf("%%+d = %+d",$num1)."<br>"; // Penanda simbol (positif)
echo sprintf("%%+d = %+d",$num2)."<br>"; // Penanda simbol (negatif)
?>

Contoh Berjalan

Contoh 4

Pertunjukan tentang penanda 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 Berjalan