PHP sprintf() 函数

实例

把百分号(%)符号替换成一个作为参数进行传递的变量:

<?php
$number = 2;
$str = "Shanghai";
$txt = sprintf("There are 쥕lion cars in %s.", $number, $str);
echo $txt;
?>

Çalıştırma Örneği

Tanım ve kullanım

sprintf() fonksiyonu biçimlendirilmiş dizgeyi bir değişkende yazdırır.

arg1,arg2,++ parametreler ana dizgenin % işaretleri sembolüne yerleştirilecektir. Bu fonksiyon adım adım çalışır. İlk % işaretine arg1ikinci % işaretine arg2ve devamı gibi.

Açıklama:Eğer % işareti fazla ise arg Parametre, ise yer tutucu kullanmanız gerekir. Yer tutucular % işareti sonrası yerleştirilir ve sayı ve "\$" içerir. Örneğin 2 numaralı örneğe bakın.

İpucu:İlgili fonksiyonlar: printf()、 vprintf()、 vsprintf()、 fprintf() ve vfprintf()

Sözdizimi

sprintf(format,arg1,arg2,arg++)
Parametre Açıklama
format

Gerekli. Dizgeyi ve içindeki değişkenlerin nasıl biçimlendirileceğini belirtir.

Olası format değerleri:

  • %% - Bir百分号 % döndürür
  • %b - İkili sayı
  • %c - ASCII değeri olan karakter
  • %d - İşaret içeren ondalık sayı (negatif, 0, pozitif)
  • %e - Küçük harflerle bilimsel sayı sistemi (örneğin 1.2e+2)
  • %E - Büyük harflerle bilimsel sayı sistemi (örneğin 1.2E+2)
  • 薉şaret içermeyen ondalık sayı (0 veya daha büyük)
  • %f - Yerel ayarlar içinde tamsayı
  • %F - Yerel ayarlar dışında tamsayı
  • %g - Kısa %e ve %f
  • %G - Kısa %E ve %f
  • %o - Oktal sayı
  • %s - Dizge
  • %x - Onaltılık sayı (küçük harfler)
  • %X - Onaltılık sayı (büyük harfler)

Ek format değerleri. % ve harf arasında gerekli olarak yerleştirilmelidir (örneğin %.2f):

  • + (Sayının önüne + veya - ekleyerek sayının pozitif veya negatifliğini tanımlar. Varsayılan olarak, sadece negatif sayılar işaretlenir, pozitif sayılar işaretlenmez)
  • ' (Doldurma olarak ne kullanılacağını belirtir, varsayılan olarak boşluk. Genişlik belirleyici ile birlikte kullanılmalıdır. Örneğin: '%'x20s ("x" olarak doldurma kullanılır)
  • - (Değişken değerini sol ayarlar)
  • [0-9] (Değişken değerinin en küçük genişliğini belirtir)
  • .[0-9] (Ondalık sayı veya maksimum dizge uzunluğunu belirtir)

Açıklama:Birden fazla yukarıdaki format değeri kullanılırsa, bu değerler yukarıdaki sıraya göre kullanılmalıdır.

arg1 Gerekli. Eklenecek format Dizide birinci % işaretinin yerindeki parametre.
arg2 İsteğe bağlı. Eklenecek format Dizide ikinci % işaretinin yerindeki parametre.
arg++ İsteğe bağlı. Eklenecek format Dizide üçüncü, dördüncü ve % işaretlerinin yerindeki parametreler.

Teknik detaylar

Donus degeri: Formatli string dondurur.
PHP versiyonu: 4+

Daha fazla ornek

Ornek 1

Format degeri %f kullanarak:

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

Çalıştırma Örneği

Ornek 2

Yer tutucu kullanarak:

<?php
$number = 123;
$txt = sprintf("Iki ondalikli: %1\$.2f
<br>Ondalik isareti olmadan: %1\$u,$number);
echo $txt;
?>

Çalıştırma Örneği

Ornek 3

Tum olasil format degerleri icin goruntuleme:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // ASCII karakter 50 2
// Yorum: Format degeri "%%" ondalik isareti dondurur
echo sprintf("%%b = %b",$num1)."<br>"; // Ikili sayi
echo sprintf("%%c = %c",$char)."<br>"; // ASCII karakter
echo sprintf("%%d = %d",$num1)."<br>"; // Isemli ondalik sayi
echo sprintf("%%d = %d",$num2)."<br>"; // Isemli ondalik sayi
echo sprintf("%%e = %e",$num1)."<br>"; // Kucuk harfli bilimsel sayi
echo sprintf("%%E = %E",$num1)."<br>"; // Buyuk harfli bilimsel sayi
echo sprintf("%鑾u",$num1)."<br>"; // Olusan ondalik sayi (pozitif)
echo sprintf("%鑾u",$num2)."<br>"; // Olusan ondalik sayi (negatif)
echo sprintf("%%f = %f",$num1)."<br>"; // Yerel ayarlara bagli ondalik sayi
echo sprintf("%%F = %F",$num1)."<br>"; // Yerel ayarlarini goruntulemeyen ondalik sayi
echo sprintf("%%g = %g",$num1)."<br>"; // %e ve %f den kisa
echo sprintf("%%G = %G",$num1)."<br>"; // %E ve %f den kisa
echo sprintf("%%o = %o",$num1)."<br>"; // Sekizli sayi
echo sprintf("%%s = %s",$num1)."<br>"; // Dizgi
echo sprintf("%%x = %x",$num1)."<br>"; // Onaltılık Sayı (Küçük Harf)
echo sprintf("%%X = %X",$num1)."<br>"; // Onaltılık Sayı (Büyük Harf)
echo sprintf("%%+d = %+d",$num1)."<br>"; // Pozitif İşaret İşaretçisi
echo sprintf("%%+d = %+d",$num2)."<br>"; // Negatif İşaret İşaretçisi
?>

Çalıştırma Örneği

Örnek 4

Dizgi İşaretçileri Açıklaması:

<?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>";
?>

Çalıştırma Örneği