Я знаю, что это старый вопрос, но я думаю, что кто-то должен упомянуть все плюсы и минусы:
Лучший синтаксис : это личное предпочтение.
Производительность : без разницы.Как уже упоминалось, двойные кавычки могут быть быстрее, если использовать нереально много переменных.
Лучшее использование : одинарные кавычки (в основном).Как сказал @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';
Less Escapeing : одинарная кавычка.Для одиночной кавычки вам нужно экранировать только 2 символа ('
и \
).Для двойной кавычки вам нужно экранировать 2 символа ("
, \
) и еще 3, если необходимо ($
, {
и }
).
Меньше изменений : Одинарная кавычкаНапример, если у вас есть следующий код:
echo 'Number ' . $i . '!';
И вам нужно увеличить 1 до $ i, чтобы оно стало таким:
echo 'Number ' . ($i + 1) . '!';
Но для двойной кавычки вам понадобитсячтобы изменить это:
echo "Number $i!";
на это:
echo "Number " . ($i + 1) . "!";
Вывод : Используйте то, что вы предпочитаете .