PHP sprintf() 函数
实例
把百分号(%)符号替换成一个作为参数进行传递的变量:
<?php $number = 2; $str = "Shanghai"; $txt = sprintf("There are 쥕lion cars in %s.", $number, $str); echo $txt; ?>
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:
Ek format değerleri. % ve harf arasında gerekli olarak yerleştirilmelidir (örneğin %.2f):
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; ?>
Ornek 2
Yer tutucu kullanarak:
<?php $number = 123; $txt = sprintf("Iki ondalikli: %1\$.2f <br>Ondalik isareti olmadan: %1\$u,$number); echo $txt; ?>
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 ?>
Ö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>"; ?>