|
|
|
Most of us use only Double Quotes ["] when writing PHP code. it seems like the trivial thing to do and most examples out there show this kind of syntax. However, there is also a 2nd way to go and it's the better way to go. Instead of Double Quotes, just use Simple Quotes.
Instead of :
<?
Echo "Visit http://www.weberblog.com";
?>
You can Use :
<?
Echo 'Visit http://www.weberblog.com';
?>
Both examples would work but one may ask, so what is the big deal? why is it better?
In the above example there is no difference but have a look at this example :
Double Quotes way :
<?
Echo "<TABLE BORDER=\"1\" CELLSPACING=\"0\" CELLPADDING=\"0\">";
?>
Single Quotes way :
<?
Echo '<TABLE BORDER="1" CELLSPACING="0" CELLPADDING="0">';
?>
In this example you can see that we don't need to add escape characters for each Double Quote we want to echo as HTML. This, by its self is a good enough reason to migrate, however, a 2nd reason is performance. Using Single Quotes is always at least as fast as Double Quotes and in some cases faster by hundreds of percents. The next test is was taken from http://www.blueshoes.org/phpBench.php :
double (") vs. single (') quotes
Is a there a difference in using double (") and single (') quotes for strings. Call 1'000x
+ 101 % 1: single (') quotes. Just an empty string: $tmp[] = ''; Total time: 3[ms]
+ 100 % 2: double (") quotes. Just an empty string: $tmp[] = ""; Total time: 3[ms]
+ 111 % 3: single (') quotes. 20 bytes Text : $tmp[] = 'aaaaaaaaaaaaaaaaaaaa'; Total time: 3[ms]
+ 118 % 4: double (") quotes. 20 bytes Text : $tmp[] = "aaaaaaaaaaaaaaaaaaaa"; Total time: 3[ms]
+ 115 % 5: single (') quotes. 20 bytes Text and 3x a $ : $tmp[] = 'aa $ aaaa $ aaaa $ a'; Total time: 3[ms]
+ 461 % 6: double (") quotes. 20 bytes Text and 3x a $ : $tmp[] = "aa $ aaaa $ aaaa $ a"; Total time: 13[ms]
+ 113 % 7: double (") quotes. 20 bytes Text and 3x a \$ : $tmp[] = "aa \$ aaaa \$ aaaa \$ a"; Total time: 3[ms]
Conclusion:
Single and double quoted strings behave almost the same with one exception: Don't use the a lonely ($) in double quoted string unless you want to reference a PHP-var; or use (\$).
Note : When working with special formatting characters such as \n \r \t etc... Single Quotes are somewhat problematic because they ignore these formatting codes. What you need to do in case you need these formatting codes is :
<?
Echo 'check out http://www.weberblog.com' . "\n\r" . 'for the best PHP & MySQL Web Logs on the net';
?>
|
|
| Differences between two files Categories : PHP, Filesystem, Tip | | | Query2Report : Generating Html, Pdf and Csv Reports from SQL Query Categories : PHP, PHP, HTML, PDF, Excel | | | sesam_affected_rows -- Get number of rows affected by an immediate query Categories : PHP, PHP Functions, SESAM | | | Relative Path Categories : PHP, Filesystem | | | Calendars to choose a range of dates , reservation events ... Categories : PHP, Calendar, Java Script, Date Time | | | PHP3: Formmail. Just a cgi formmail, but than in PHP. It is easy to use! Categories : HTML and PHP, Email, PHP, Perl, HTML and PHP | | | What's the weather? Categories : PHP, Web Services | | | How to overide the Max_file_size barier Categories : PHP, PHP Configuration, Filesystem | | | Upload images restricted by pixel size (Picture width and Picture Height) Categories : PHP, HTML and PHP, Graphics | | | phpEasyMail: An easy way to send data from HTML-forms via EMail. Categories : Email, HTML and PHP, Complete Programs, PHP | | | How to build a search query for any N number of words in a search string Categories : PHP, Regexps, Search Engines, Search | | | Multi-table database search for your WAP-enabled device. Uses PHP and MySQL. No WMLscript. Categories : WAP, WML, PHP, MySQL | | | Vote-Poll script that has a wrapper class that allows the user to create
multiple polls on the same page with little trouble. Categories : PHP, PHP Classes, HTML and PHP | | | PHP Tester - Lets you test php code from a browser. Categories : PHP, HTML and PHP, Testing | | | Open directory and File download Categories : PHP, Filesystem, Directories, HTML and PHP | |
| | | | jefferis peterson wrote : 1026
I think one of the hardest things to remember is using single and double quotes inside php inside javascript or html context. Everything always gets reversed. It is a real pain. Is there a mnemonic device for remembering this ? ??? Or a better way?
| | | | Timothy Bolton wrote : 1027
The simplest mnemonic I can think of is:
`S`ingle quotes for `S`cript.
That then only leaves the double quotes for HTML code.
I think ...!
| | | | Sarah King wrote : 1034
In addition use braces { around variable names in double quoted strings for faster and more accurate parsing. Braces allow you to embed arrays and objects into a string. eg
echo "Hello {$visitor->name}, welcome back";
A common error I see is to use double quotes around a variable when passing it to mysql or mail.
<?php
$email = `tom@mysite.com`;
mail("$email",`subject`,`body`);
?>
email is already a string so no need to force PHP to parse it again.
| | | | Joseph Crawford wrote :1195
one thing people like to do is add a \n at the end of thier html code that php outputs, both for clarity and debugging.
<?
Echo `<TABLE BORDER="1" CELLSPACING="0" CELLPADDING="0">\n`;
?>
will not work... the \n will be parsed as normal text
also
<?
Echo `<TD>My Name is $name</TD>\n`;
?>
will not work, in order to get variables or special charachters to work withing php output you need to have double quoted strings, this doesnt alway mean messy "\" stuff like that, for example.
<?
Echo "<TABLE BORDER=`1` CELLSPACING=`0` CELLPADDING=`0`>\n";
?>
and
<?
Echo "<TD>My Name is {$name}</TD>\n";
?>
will work just fine, also you dont need the {} around $name but it helps parse things faster, i always use them so that when i use an object etc.. i dont get errors as you need the {} to use them.
| |
|
|