PHP’ de printf, print, echo, sprintf, vprintf, vfprintf, vsprintf Kullanımı

PHP’ de string ifadelerini çıktı olarak vermenin bir çok şekli var. Bu yazıda PHP’ de birbirine benzer gibi görünen fakat aralarında çeşitli farklar olan echo, print, printf, sprintf,vprintf, vfprintf, vsprintf ifadelerini ve kullanım şekillerini anlatacağım.

1.) echo :

  • Ekrana string(metin) çıktısı basar. string içinde HTML ifadeler bulunabilir.
  • Gerçek bir fonksiyon değildir. Dilin yapısı ile birlikte gelir.
  • Çalıştırıldığında geriye bir değer döndürmez. Fonksiyon gibi davranmaz
  • echo ifadesi echo ve echo() şeklinde kullanılabilinir.
  • Eğer çift tırnak kullanılırsa string ifadesinin içinde değişken kullanılabilinir.
$x = 5;
echo "Hello world!";
echo "<h2> PHP is wonderful language. </h2>";
echo "Number is : $x";
// Çıktı: Hello world!
// Çıktı: PHP is wonderful language.
// Çıktı: Number is : 5 
echo ifadesinin ekran çıktısı.

2.) print:

  • Ekrana string çıktısı basar.
  • print ifadesi gerçek bir fonksiyon olmadığı için parantez kullanmaya gerek yoktur. Dilin yapısı ile birlikte gelir.
  • Çalıştırıldığında daima 1 değeri döner.
$x = print "Hello world! <br>";
echo $x;
//Çıktı :  Hello world!
//Çıktı : 1
print ifadesinin ekran çıktısı

3.) printf:

  • formatlanmış string çıktısı verir.
  • Çalıştırıldığında string çıktısının uzunluğunu döndürür.
$number = 5;
$str = "London";
$x = printf("There are %u million people in %s. <br>",$number,$str);
echo $x;
//Çıktı: There are 5 million people in London.
//Çıktı: 42
printf ifadesinin ekran çıktısı

4.) sprintf:

  • formatlanmış string değerini döndürür.
$number = 5;
$str = "London";
$x = sprintf("There are %u million people in %s. <br>",$number,$str);
echo $x;
//Çıktı: There are 5 million people in London.
sprintf ifadesinde geri döenen değerin ekran çıktısı

Eğer argumanlar(parametreler) birden fazla yerde kullanılacaksa \$ ifadesi kullanılır.

$number = 5;
$str = "London";
$x = sprintf("There are %1\$u million people in %s. <br> Second usage place: %1\$u",$number,$str);
echo $x;
//Çıktı: There are 5 million people in 5.
	     Second usage place: 5

5.) vprintf:

  • formatlı string değerini ekrana bastırır.
  • printf gibi davranır yalnız parametre olarak değişkenler yerine dizi alır.
  • Formatlanmış stringin uzunluğunu geri döndürür.
$number = 5;
$str = "London";
$x = vprintf("There are %u million people in %s. <br>", [$number,$str]);
echo $x;
//Çıktı: There are 5 million people in London.
//Çıktı: 42
vprintf ifadesinin ekran çıktısı

6.) vsprintf:

  • formatlanmış string değerini döndürür.
  • sprintf gibi davranır yalnız parametre olarak değişkenler yerine dizi alır.
$number = 5;
$str = "London";
$x = vsprintf("There are %u million people in %s. <br>", [$number,$str]);
echo $x;
//Çıktı: There are 5 million people in London.
vsprintf ifadesinde geri dönen değerin ekran çıktısı

7.) vfprintf:

  • formatlanmış bir stringi bir dosyaya yazar.
$number = 5;
$str = "London";
$file = fopen("test.txt","w");
vfprintf("There are %u million people in %s. <br>", [$number,$str]);

test.txt dosyasına There are 5 million people in London. ifadesini yazar

Aşağıda tabloda string ifadelerini kullanırken değişkenleri string ifadesi içerisinde kullanabileceğiniz format değerleri gösterilmektedir.

formatFORMAT DEĞERLERİ İÇİN KULLANABİLECEĞİNİZ DEĞERLER
%% – Yüzde işareti döndürür
%b – İkili sayı
%c – ASCII değerine göre karakter
%d – İşaretli ondalık sayı (negatif, pozitif veya sıfır)
%e – Küçük harf olarak bilimsel gösterim (e.g. 1.2e+2
%E – Büyük harf olarak bilimsel gösterim (e.g. 1.2E+2)
%u – İşaretsiz ondalık sayı (sıfıra eşit veya daha büyük)
%f – Ondalıklı sayı (yerel ayarlara duyarlı)
%F – Ondalıklı sayı (yerel ayarlara duyarlı değil)
%g – %e ve %f ‘nin daha kısası
%G – of %E ve %f ‘ nin daha kısası
%o – Octal sayı%s – String
%x – Hexadecimal sayı (Küçük Harfler ile)
%X – Hexadecimal sayı (Büyük Harfler ile)
PHP’ de formatlama yaparken kullanılacak değerler.

Başarılar dilerim.