Gebruik je ', want in de code zelf zie je al " staan en als je zou beginnen met " lijkt voor php hier dus het einde van de var te zijn.
De code wordt dus:
Als je dit wilt echoen: Mark's vraag. Gebruik je ", want in de tekst staat al '. Als je dit zo laat staat denk php dus dat daar de var is afgelopen.
De code wordt dus:
In double quotes 'kunnen' variablen geparsed worden, dus php moet gaan kijken of er vars in de 'string' voorkomen, bij een single quote niet, dat is per definitie een string...lijkt me fair toch ?
De "-string moet gewoon meer verwerken dan de '-string, maar dat hoeft zich niet altijd meteen om te zetten in extra parsetijd (er is alleen keuze uit meer opties tijdens een escape, maar escapes gebeuren waarschijnlijk vaker). Ik denk zelfs dat je het verschil alleen maar ziet tijdens het compileren en dan zou het slechts een paar instructies extra uitvoeren, maar op uitvoerniveau niets van merkt.
In elk geval, dit is iets dat ik moet uitzoeken in de zend engine. Voor diegene die performance echt op de proef stellen, hier een paar zaken om uit te testen:
1) Loop met het toewijzen van "-string vs '-string
2) Een bashscript die het verschil tussen "php -l testSingleQuotes.php" en "php -l testDoubleQuotes.php" uitrekent. Gebruik hiervoor ook een loop en wissel af tussen beide scripts.
In het eerste geval kijk je vooral naar de uitvoersnelheid van het script. De tweede test gaan we php van buitenaf testen en laten we php bezighouden met het omzetten van een script naar tokens (wat naar mijn verwachtingen betreft het verschil het grootst zou zijn, maar ik kan ook fout zijn).
Edit: test 2 kan ook binnenin php uitgevoerd worden: kijk daarvoor naar de functie PHP.net: php_check_syntax , wat zover ik correct ben ongeveer hetzelfde doet als php lint (of de "php -l" optie van op de commandline).
In double quotes 'kunnen' variablen geparsed worden, dus php moet gaan kijken of er vars in de 'string' voorkomen, bij een single quote niet, dat is per definitie een string...lijkt me fair toch ?Â
Doe een snelheidstest en bewijs het zou ik zo zeggen
Ik heb net een test gedaan m.b.t. welke sneller is (' of ").
dit zijn de resultaten:
Parsetijd dubbele quotes: 0,000016000000000016 seconde.
Parsetijd enkele quotes: 0,0000030000000000863 seconde.
Heb je uitgebreide testresultaten die je kan tonen? Want 1 cijfer uit 1 test is niet echt representatief. Kan je ook uitleggen welke test je precies hebt uitgevoerd? Btw, ik wist niet dat PHP zoveel preciesie. Indien je met microtime() werkt moet je true al parameter meegeven om seconden.microseconden te krijgen.
je toont 10.000 leden. dan heb je wel liefst dat dat zo snel mogelijk gebeurt hé? In dit geval gebruik je dan zelfs nog beter een mysql_result of mysql_fetch_array, want die resulteerd nog sneller