Perbedaan antara kutipan tunggal dan kutipan ganda dalam php

Kutipan tunggal dan tanda kutip ganda ditangani sedikit berbeda dalam PHP. Baca terus untuk melihat perbedaan dalam cara mereka dievaluasi.

Kutipan Tunggal

Kutipan tunggal cenderung mengurai banyak hal dalam arti yang jauh lebih harfiah. Sebagai contoh, ambil yang berikut:

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

Nama variabel, ketika dimasukkan ke dalam tanda kutip tunggal tidak diurai ke nilai sebenarnya. Inilah yang sebenarnya dicetak dari menjalankan ini sebagai program php sederhana:

 $ test 

Hanya ada 2 skenario yang dapat saya pikirkan di mana informasi benar-benar diolah dalam satu string yang dikutip. Pertama, untuk menampilkan karakter yang dikutip tunggal, harus didahului oleh backslash. Kalau tidak, itu akan ditafsirkan sebagai akhir dari string Anda. Kedua, untuk menampilkan backslash, itu harus didahului oleh backslash lain. Contoh:

 echo 'kutipan tunggal: \' '; echo 'backslash: \\'; 

Kutipan Ganda

Kutipan ganda cenderung mengurai banyak hal untuk Anda. Saat dijalankan di antara tanda kutip ganda:

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

Ini menghasilkan nilai variabel yang sebenarnya:

 BOOOM 

Sekarang, kadang-kadang Anda akan mengalami skenario di mana nama variabel yang Anda coba untuk output disebabkan untuk tidak diurai dengan benar karena beberapa karakter sekitarnya.

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

Menurut Anda, apa yang dihasilkan di sini? Jawabannya tidak ada apa-apanya. PHP mencari variabel bernama $ tested, dan karena tidak ada, tidak ada output. Cara yang tepat untuk menampilkan nilai yang diikuti oleh 'ed' adalah:

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

Dengan membungkusnya dalam kurung kurawal, itu memungkinkan PHP tahu di mana variabel mulai dan berhenti, memungkinkan untuk mengevaluasi variabel dengan benar.

Perbedaan Kecepatan

Saya menjalankan beberapa tes benchmarking sederhana untuk mengevaluasi beberapa skenario perbedaan, perbedaan dalam kecepatan antara keduanya dapat diabaikan. Tanda kutip tunggal sedikit lebih cepat karena fakta bahwa ia tidak harus mencari variabel dan kemudian mengurai nilainya, tetapi saya belum pernah mengalami skenario di mana ia membuat cukup banyak perbedaan dengan materi. Gunakan yang mana saja yang sesuai dengan kebutuhan Anda saat ini.

Lihat Juga