Saya tahu ini adalah pertanyaan lama, tetapi saya pikir seseorang harus menyebutkan semua pro & kontra:
Sintaks yang lebih baik : Itu preferensi pribadi.
Performa : Tidak ada perbedaan. Seperti banyak disebutkan, double-quote mungkin lebih cepat jika menggunakan banyak variabel yang tidak realistis.
Penggunaan yang Lebih Baik : Kutipan tunggal (kebanyakan). Seperti @Khez mengatakan, dengan kutip tunggal Anda dapat menggabungkan apa-apa, fungsi panggilan bahkan dan variabel modifikasi, seperti: echo 'hi ' . trim($name) . ($i + 1);
. Satu-satunya hal double-quote bisa melakukan itu satu-kutipan tidak bisa lakukan adalah penggunaan \n
, \r
, \t
dan sama.
Keterbacaan : Tidak ada perbedaan (semoga preferensi pribadi berlaku).
Writability / Re-Writability / Debugging : Dalam pernyataan 1-baris tidak ada perbedaan, tetapi ketika berhadapan dengan banyak baris, lebih mudah untuk mengomentari / menghapus baris komentar saat debugging atau menulis. Sebagai contoh:
$q = 'SELECT ' .
't1.col1 ' .
',t2.col2 ' .
//',t3.col3 ' .
'FROM tbl1 AS t1 ' .
'LEFT JOIN tbl2 AS t2 ON t2.col2 = t1.col1 ' .
//'LEFT JOIN tbl3 AS t3 ON t3.col3 = t2.col2 ' .
'WHERE t1.col1 = ' . $x . ' ' .
' AND t2.col2 = ' . $y . ' ' .
//' AND t3.col3 = ' . $z . ' ' .
'ORDER BY t1.col1 ASC ' .
'LIMIT 10';
Less Escaping : Kutipan tunggal. Untuk kutipan tunggal, Anda hanya perlu melepaskan 2 karakter ( '
dan \
). Untuk kutipan ganda, Anda perlu melepaskan 2 karakter ( "
, \
) dan 3 lagi jika diperlukan ( $
, {
dan}
).
Dikurangi Perubahan : Kutipan tunggal. Misalnya jika Anda memiliki kode berikut:
echo 'Number ' . $i . '!';
Dan Anda harus menambah 1 hingga $ i, sehingga menjadi suka:
echo 'Number ' . ($i + 1) . '!';
Tetapi untuk penawaran ganda, Anda harus mengubah ini:
echo "Number $i!";
untuk ini:
echo "Number " . ($i + 1) . "!";
Kesimpulan : Gunakan apa yang Anda inginkan .
echo 'Welcome '.$name.'!';