Я знаю, що це старе питання, але я думаю, що хтось повинен згадати всі плюси і мінуси:
Кращий синтаксис : це особисті переваги.
Продуктивність : Немає різниці. Як уже згадувалося, подвійне цитування може бути швидшим, якщо використовувати нереально багато змінних.
Краще використання : Одиночна пропозиція (в основному). За словами @Khez, з одного цитати можна зчепити що завгодно, навіть виклики функцій і змінних модифікації, наприклад , так: echo 'hi ' . trim($name) . ($i + 1);
. Єдине, що може зробити подвійна цитата, яку не може зробити одноцінна \n
, \r
-\t
і так.
Читабельність : Немає різниці (можуть застосовуватися особисті переваги).
Записуваність / Перезаписуваність / Налагодження : У однорядкових висловлюваннях різниці немає, але при роботі з декількома рядками простіше коментувати / коментувати рядки під час налагодження чи написання. Наприклад:
$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';
Менше втече : Одноцінна цитата. Для однієї цитати вам потрібно уникнути лише 2 символів ( '
і \
). Для подвійної лапки потрібно бігти 2 символів ( "
, \
) і 3 більше , якщо потрібно ( $
, {
і}
).
Менше змін : Одинична пропозиція. Наприклад, якщо у вас є такий код:
echo 'Number ' . $i . '!';
І вам потрібно збільшити 1 до $ i, так що це стає подобається:
echo 'Number ' . ($i + 1) . '!';
Але для подвійної цитати вам потрібно змінити це:
echo "Number $i!";
до цього:
echo "Number " . ($i + 1) . "!";
Висновок : використовуйте те, що вам більше подобається .
echo 'Welcome '.$name.'!';