作者:
GALINE (天真可愛CQD)
2015-12-05 09:37:53單雙引號不重要,除非公司/團隊有規定,不然自己順眼就好
## 關於效能
PHP 開發者之一的 nikic 寫過一篇文章講這個事情
https://nikic.github.io/2012/01/09/
Disproving-the-Single-Quotes-Performance-Myth.html
https://goo.gl/5p8JWK
- 對純字串完全沒差
- 對於 escape sequence ('T' 跟 "\x54") 完全沒差
- 當變數很多的時候, "A{$a}B{$b}C{$c}" 其實比 'A'.$a.'B'.$b.'C'.$c 略快一點點
## 關於美觀
如果純粹講美觀或可讀性,我覺得不同的狀況下好讀的寫法也不一樣..
// 有些字串完全沒差
$a = '黑棕紅橙黃綠藍紫灰白';
$a = "黑棕紅橙黃綠藍紫灰白";
// 字串裡面一堆不想被 escape 的字
$a = '雙引號裡面可以用 "\t" 印出 tab';
// 有幾個變數要組,字串有點長又不會太長
$a = "{$name} 你好,這是你第 {$login_count} 次登入,祝你今天順利愉快"
// 有一大堆變數要組,字串很長,或是變數要先過其他 function
// 這時候還是用 printf 吧...
// BTW,好孩子還是不該用 mysql_* 系列,改用 PDO 吧...
$a = sprintf(
"SELECT id, name FROM STUDENTS WHERE score_a > %d AND score_b > %d",
mysql_real_escape_string($score_a),
mysql_real_escape_string($score_b)
);