Single quotesSingle qoutes ( ) worden gezien als letterlijke tekst. Dit wil zeggen dat alles wat tussen single quotes ook zo blijft staan:
echo Ik ben een $var;
Dit zal gewoon letterlijk "Ik ben een $var" op het scherm schrijven. Daarom moet je je vars "Buiten de quotes halen":
echo Ik ben een . $var;
Double quotesDouble quotes ( " " ) worden eerst nog een soort van geparsed. Dit wil zeggen dat vars die binnen de double quotes staat niet per defenitie als lettelijke tekst gezien wordt:
echo "Ik ben een $var";
Dit zal "Ik ben een" teruggeven (error-reporting daar gelaten, en er vanuit gaande dat de $var variabele niet bestaat). De $var wordt dus gezien als var, niet als tekst.
Dus...Juist om deze reden is het slim om met letterlijke tekst gewoon single quotes te gebruiken. Double quotes zijn hierbij (kijkend naar micro-optimalisatie) een stuk langzamer. Bovenop het feit dat ze met HTML een stuk handiger werken zoals Aarclay al aangaf.
In querys zijn echter double quotes weer het meest gebruikt, omdat je binnen een query vaak strings moet aangeven, en dit met single quotes moet. Dit bespaart je wederom weer een hoop escapewerk (en daarmee onleesbaarheid).