Я знаю, что это старый вопрос, но я думаю, что кто-то должен упомянуть все за и против:
Лучший синтаксис : это личное предпочтение.
Производительность : без разницы. Как уже упоминалось, двойные кавычки могут быть быстрее, если использовать нереально много переменных.
Лучшее использование : одинарные кавычки (в основном). По словам @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.'!';