Zoals in m'n artikel staat zal PHP een string waarin geen variabelen staan behandelen als een single-quoted string met alle (performance) gevolgen van dien. Zie onder kopje "Show me that string, Baby" ;-)
Dus lijkt mij de logische conclusie dat als je variabele buiten je quotes houdt, enkele en dubbele quotes niet zoveel uitmaakt. (niet dat het sowieso veel uitmaakt).
Het verschil in snelheid tussen de single en quoted string is ook wel makkelijk te verklaren.
Omdat beiden niet gelijk zijn aan elkaar.
PHP neemt de inhoud van een single-quoted string gewoon over, bij een quoted string wordt er eerst nog gekeken of er variabelen of controle tekens in staan.
In een single-quoted string kun je bijvoorbeeld geen enter ("n") intypen, maar moet je dit dus dus letterlijk doen.
<?php
echo 'regel1
regel2';
?>
Dus wil je geen variabelen of controle tekens gebruiken in de string dan gebruik je een single-quoted string, anders een quoted-string.
Ziet er goed uit. En zowel bevestigd wat ik altijd wist...
Enkele quotes is sneller dan dubbele
En het bevestigt ook wat ik al een half jaar geleden heb geschreven, namelijk dat het onder normale omstandigheden niet de moeite waard is om op te optimaliseren, want de verschillen zijn verwaarloosbaar.
*zucht* al dat academische geneuzel toch altijd...
@Willem: Dat je je huidige schrijfwijze niet gaat aanpassen, dat snap ik. Maar waarom zou je een beginnende php-er niet direct de snelste methode aanleren? Je kan het geneuzel noemen, maar waarom zou je deze (minimale) tijdswinst laten liggen zonder dat het enige moeite kost om er gebruik van te maken?
En op een drukke website kon het wel eens gaan uitmaken. Vele kleine beetjes maken één grote...
In de meeste gevallen kan je denk ik beter uitgaan van het makkelijkste, en niet het snelste. Dubbele quotes zijn onhandiger omdat je dan de dubbele quotes in tags moet escapen. Maar in bijv. SQL gebruik ik altijd dubbele quotes, zodat ik de enkelen niet hoef te escapen.
Ik zit me eerlijk gezegd nu ook af te vragen waarom ik XHTML zou gebruiken, makkelijker is het toch niet, beter ondersteund is het niet, een toekomst is onduidelijk, waarom dan wel? Buzz-factor? Hetzelfde verhaal met $ binnen quotes. Het schrijven gaat neller, en de tijd dat het inneemt is niet echt relevant**, en is het nou ook werkelijk zoveel minder overzichtelijk? Als het al zo slecht is, waarom zou het dan ondersteund en niet door PHP zelf worden afgeraden?
** Mits je natuurlijk 2 miljoen keer dat moet laten uitvoeren, dan scheelt het al snel weer een seconde of 2.