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
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
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
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.
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
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.
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.
format | FORMAT 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) |
Başarılar dilerim.