PHP Single vs. Double Quotes
For a long time, I’ve been a proponent of using single-quotes as opposed to double-quotes when assigning string literals (strings containing no variables) to a variable (eg: $var = ’string’; VS $var = “string”).
I just did some research to find out how much (if any) impact using single-vs-double quotes had on performance. I took the code from this blog post: http://spindrop.us/2007/03/03/php-double-versus-single-quotes/ modified the MAX constant to 8,000,000 and then ran the test on our Nexcess server. The results were fairly consistent:
Time 1: 5.9485120773315 ($c = “test ” . $i; )
Time 2: 7.0326972007751 ($c = “test $i”; )
Time 3: 5.9164550304413 ($c = ‘test ‘ . $i; )
It’s clear that embedding variables in strings is less efficient, but the difference between normal single-vs-double quotes is negligible (at least on our server configuration with this test).
Despite the lack of clear performance benefits, I still think it best practice to use single-quotes when using string literals, as it denotes that a string doesn’t contain any variables. One benefit of this is that when skimming code, you can more quickly process which variables are string literals vs strings with embedded variables.
The Zend Framework Coding Standard also recommends this practice: http://framework.zend.com/manual/en/coding-standard.coding-style.html
This entry was posted on Sunday, February 7th, 2010 at 12:21 am and is filed under PHP. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.