Anonim

Tek tırnak ve çift tırnak PHP'de biraz farklı ele alınır. Nasıl değerlendirildiğindeki farklılıkları görmek için okumaya devam edin.

Tek Tırnaklar

Tek tırnak, daha gerçek anlamda bir şeyi ayrıştırma eğilimindedir. Örneğin, aşağıdakileri alın:

$ test = "BOOOM"; echo '$ test'

Tek tırnak içine alındığında değişken adı gerçek değerine ayrılmaz. İşte bu basit bir php programı olarak çalıştırmanın aslında basılmış olanı:

$ testi

Bilgilerin gerçekte tek bir alıntı dizgisinde ayrıştırılabileceğini düşünebildiğim sadece 2 senaryo var. İlk önce, tek bir alıntı karakteri görüntülemek için, bunun önüne bir ters eğik çizgi gelmelidir. Aksi halde dizginizin sonu olarak yorumlanacaktır. İkincisi, bir ters eğik çizgi görüntülemek için, önce bir başka ters eğim çizgisinden önce gelmelidir. Örnek:

echo 'single quote: \' '; yankı 'ters eğik çizgi: \\';

İkili alıntı

Çift tırnak, sizin için işleri ayrıştırma eğilimindedir. Çift tırnak arasında çalışırken:

$ test = "BOOOM"; echo "$ test"

Gerçek değişken değerini verir:

booom

Şimdi, zaman zaman çıktısını almaya çalıştığınız değişken isminin etrafındaki bazı karakterlerden dolayı doğru ayrıştırılmadığı bir senaryo ile karşılaşacaksınız.

$ test = "BOOOM"; eko "$ test edildi";

Sizce burada üretim nedir? Cevap hiçbir şey değil. PHP $ test adında bir değişken arar ve var olmadığından hiçbir şey çıktı değildir. 'Ed' ile takip edilen değeri vermenin uygun yolu şöyle olacaktır:

$ test = "BOOOM"; echo "{$ test} ed";

Kıvrımlı parantez içine sararak, PHP'nin değişkenin nerede başladığını ve durduğunu bilmesini sağlar ve değişkeni doğru bir şekilde değerlendirmesini sağlar.

Hız farkı

Bazı fark senaryolarını değerlendirmek için birkaç basit kıyaslama testi yaptım, ikisi arasındaki hız farkı yok denecek kadar azdır. Tek tırnak, değişken aramak zorunda kalmaması ve ardından değeri ayrıştırması gerekmemesi nedeniyle biraz daha hızlıydı, ancak maddeyle ilgili yeterince fark yaratan bir senaryoyla hiç karşılaşmadım. Mevcut gereksinimlerinize uygun olanı kullanın.

Tekli alıntı ile php cinsinden çift alıntı arasındaki fark