(PHP 4, PHP 5, PHP 7)
sprintf — Biçemli bir dizge döndürür
biçem
dizgesiyle biçemlenerek üretilmiş bir dizge
döndürür.
biçem
Biçem dizgesi sıfır veya daha fazla sayıda yönergeden oluşur: Sıradan karakterler (% hariç) doğrudan çıktıya kopyalanır. Dönüşüm belirtimleri ise her biri kendi değiştirgesini alarak bir sonuç üretir. printf() işlevi bu bakımdan sprintf() işlevi gibidir.
Her dönüşüm belirtimi, önüne yüzde imi (%) getirilmiş bir veya daha fazla sayıda, sırayla şu elemanlardan oluşur:
Değiştirge verisinin hangi türde ele alınacağını belirtmek için bir tür belirteci. Olası türler:
Biçem dizgesi değiştirge numaralama ve yer değiştirme işlemlerini de destekler. Örnek:
Örnek 1 - Değiştirge takaslama
<?php
$format = 'There are %d monkeys in the %s';
printf($format, $num, $location);
?>
Örnek 2 - Değiştirge takaslama
<?php
$format = 'The %s contains %d monkeys';
printf($format, $num, $location);
?>
Örnek 3 - Değiştirge takaslama
<?php
$format = 'The %2$s contains %1$d monkeys';
printf($format, $num, $location);
?>
Örnek 4 - Değiştirge takaslama
<?php
$format = 'The %2$s contains %1$d monkeys.
That\'s a nice %2$s full of %1$d monkeys.';
printf($format, $num, $location);
?>
args
...
biçem
dizgesine göre biçemlendirilerek üretilen bir
dizge döner.
Sürüm: | Açıklama |
---|---|
4.0.6 | Değiştirge numaralama/takaslama desteği eklendi. |
Örnek 5 - Çeşitli printf()örnekleri
<?php
$n = 43951789;
$u = -43951789;
$c = 65; // ASCII 65 is 'A'
// Dikkat: %%, sadece bir tane '%' basar
printf("%%b = '%b'\n", $n); // ikil gösterim
printf("%%c = '%c'\n", $c); // ascii karakteri basar; chr() ile aynı
printf("%%d = '%d'\n", $n); // standart tamsayı gösterimi
printf("%%e = '%e'\n", $n); // bilimsel gösterim
printf("%%u = '%u'\n", $n); // pozitif tamsayının işaretsiz tamsayı gösterimi
printf("%%u = '%u'\n", $u); // negatif tamsayının işaretsiz tamsayı gösterimi
printf("%%f = '%f'\n", $n); // gerçek sayı gösterimi
printf("%%o = '%o'\n", $n); // sekizlik gösterim
printf("%%s = '%s'\n", $n); // dizge gösterimi
printf("%%x = '%x'\n", $n); // küçük harfli onaltılık sayı gösterimi
printf("%%X = '%X'\n", $n); // büyük harfli onaltılık sayı gösterimi
printf("%%+d = '%+d'\n", $n); // pozitif tamsayı üzerinde işaret belirteci
printf("%%+d = '%+d'\n", $u); // negatif tamsayı üzerinde işaret belirteci
?>
Yukarıdaki örneğin çıktısı:
%b = '10100111101010011010101101' %c = 'A' %d = '43951789' %e = '4.39518e+7' %u = '43951789' %u = '4251015507' %f = '43951789.000000' %o = '247523255' %s = '43951789' %x = '29ea6ad' %X = '29EA6AD' %+d = '+43951789' %+d = '-43951789'
Örnek 6 - printf() dizge belirtimleri
<?php
$s = 'monkey';
$t = 'many monkeys';
printf("[%s]\n", $s); // standart dizge
printf("[%10s]\n", $s); // boşluklarla sağa hizalanır
printf("[%-10s]\n", $s); // boşluklarla sola hizalanır
printf("[%010s]\n", $s); // 0'larla doldurma dizgelerde de çalışır
printf("[%'#10s]\n", $s); // '#' özel dolgu karakteri olarak kullanılır
printf("[%10.10s]\n", $t); // 10 karakterlik sınırlamayla sola hizalama
?>
Yukarıdaki örneğin çıktısı:
[monkey] [ monkey] [monkey ] [0000monkey] [####monkey] [many monke]
Örnek 7 - sprintf() ve sıfır dolgulu tamsayılar
<?php
$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
?>
Örnek 8 - sprintf() ve para biçemleme
<?php
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money çıktısı: "123.1"
$formatted = sprintf("%01.2f", $money);
// echo $formatted çıktısı: "123.10"
?>
Örnek 9 - sprintf() ve bilimsel gösterim
<?php
$number = 362525200;
echo sprintf("%.3e", $number); // 3.625e+8 çıktılar
?>