PHP'de tek tırnak ve çift tırnak arasında bazı farklar vardır. Belki gelişigüzel kullandığımızdan ya da birisi işimizi gördüğü için araştırmamış olabiliriz. Birçok sitede tek tırnak ve çift tırnak arasında performans açısından tartışmalar oluyor hatta benchmark sonuçlarında çift tırnağın daha hızlı çalıştığı söyleniyor ancak kesin bir şey söylemek doğru değil bence. Sonuçlara şu siteden ve bu siteden bakabilirsiniz.
Tek Tırnak Kullanımı
Tırnaklar içinde yazılan her şey string olarak algılanır. Hatta tırnaklar arasında değişken varsa bu da string olarak algılanır direkt ekrana yazar (değişken içeriği değil değişken adını yazar). String içerisinde ' (tek tırnak) veya \ (ters eğik çizgi) olacaksa, bu karakterlerin başına \ işareti getirilmelidir. \ işareti başka bir karakterin önünde kullanılırsa, \ işareti o karakterle birlikte yazdırılır. Tek tırnak içerisinde kullanılan \n \r \t \v \f karakterleri yorumlanmaz, direkt yazdırılır. Tek tırnaklar arasında " (çift tırnak) kullanılabilir.
Örnekler
<?php
echo 'Tek tırnak';
// Çıktı: Tek tırnak
echo 'Tek tırnak "içerisinde" çift tırnak';
// Çıktı: Tek tırnak "içerisinde" çift tırnak
echo 'Ankara\'ya gidiyoruz';
// Çıktı: Ankara'ya gidiyoruz
echo 'Bu dosyayı silmek üzeresin C:\\*';
// Çıktı: Bu dosyayı silmek üzeresin C:\*?
echo 'Bu dosyayı silmek üzeresin C:\*';
// Çıktı: Bu dosyayı silmek üzeresin C:\*
echo '\n karakteri yeni satıra geçmez';
// Çıktı: \n karakteri yeni satıra geçmez
$demistim = 'demiştim';
echo 'Tek tırnakla değişken yazdıramazsın $demistim';
// Çıktı: Tek tırnakla değişken yazdıramazsın $demistim
?>
Çift Tırnak Kullanımı
Tırnaklar içerisinde yazılan her şey string olarak kabul edilir ancak tek tırnağın aksine değişkenler algılanır ve değişkenin içeriği yazdırılır. String içerisinde " (çift tırnak), \ (ters eğik çizgi) veya $ (dolar işareti) olacaksa, bu karakterlerin başına \ işareti getirilmelidir. \ işareti başka bir karakterin önünde kullanılırsa, \ işareti o karakterle birlikte yazdırılır. Çift tırnak içerisinde kullanılan \n \r \t \v \f karakterleri işlevine göre yorumlanır.
Örnekler
<?php
echo "Çift tırnak";
// Çıktı: Çift tırnak
echo "Ankara'ya gidiyoruz";
// Çıktı: Ankara'ya gidiyoruz
echo "Çift tırnak kullanırken \ gerekir: \"";
// Çıktı: Çift tırnak kullanırken \ gerekir: "
echo "Bu dosyayı silmek üzeresin C:\$*";
// Çıktı: Bu dosyayı silmek üzeresin C:$*
echo "Bu dosyayı silmek üzeresin C:\\*";
// Çıktı: Bu dosyayı silmek üzeresin C:\*
echo "Bu dosyayı silmek üzeresin C:\*";
// Çıktı: Bu dosyayı silmek üzeresin C:\*
$ankara = 'Ankara';
echo "$ankara'nın bağları";
// Çıktı: Ankara'nın bağları
echo "$ankaranın bağları";
// Hata verir
echo "${ankara}'nın bağları";
// Çıktı: Ankara'nın bağları
echo "{$ankara}'nın bağları";
// Çıktı: Ankara'nın bağları
echo "{ $ankara}'nın bağları";
// Çıktı: { Ankara}'nın bağları
?>
YORUMLAR