Wiem, że to stare pytanie, ale myślę, że ktoś musi wymienić wszystkie zalety i wady:
Lepsza składnia : to osobiste preferencje.
Wydajność : bez różnicy. Jak wielu wspomniało, podwójne cytowanie może być szybsze, jeśli zastosuje się nierealistycznie wiele zmiennych.
Lepsze wykorzystanie : Pojedyncza oferta (głównie). Jak powiedział @Khez z pojedynczego cudzysłowu można złączyć wszystko, nawet wywołań funkcji i zmiennych modyfikację, tak: echo 'hi ' . trim($name) . ($i + 1);
. Jedyną rzeczą cudzysłów może zrobić apostrofu nie może zrobić, to wykorzystanie \n
, \r
, \t
i podobne.
Czytelność : bez różnicy (mogą obowiązywać osobiste preferencje).
Zapisywalność / Ponowne zapisywanie / Debugowanie : W instrukcjach 1-liniowych nie ma różnicy, ale w przypadku wielu linii łatwiej jest komentować / odkomentować linie podczas debugowania lub pisania. Na przykład:
$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';
Mniej ucieczek : pojedynczy cytat. W przypadku pojedynczego cytatu musisz uciec tylko 2 znaki ( '
i \
). W przypadku podwójnego cudzysłowu musisz uciec 2 znaki ( "
, \
) i 3 dodatkowe w razie potrzeby ( $
, {
i }
).
Mniej zmian : Pojedyncza wycena. Na przykład, jeśli masz następujący kod:
echo 'Number ' . $i . '!';
I musisz zwiększyć 1 do $ i, aby stało się podobne:
echo 'Number ' . ($i + 1) . '!';
Ale w przypadku podwójnego cytatu musisz to zmienić:
echo "Number $i!";
do tego:
echo "Number " . ($i + 1) . "!";
Wniosek : użyj tego, co wolisz .
echo 'Welcome '.$name.'!';