当使用双引号来括字符串时,PHP解释器会对其进行变量替换、转义等操作。如果你只想输出一个基本的字符串,就用单引号吧,这样会节省一些资源。当然,如果你需要进行变量替换的,那就必须用双引号了,但其他情况下还是用单引号吧。
<p>print "Hi my name is $a. I am $b"; </p><p>echo "Hi my name is $a. I am $b"; </p><p>echo "Hi my name is ".$a.". I am ".$b; </p><p>echo "Hi my name is ",$a,". I am ",$b; </p><p>echo 'Hi my name is ',$a,'. I am ',$b; </p>
也许这看起来很奇怪,但事实上最后一条的运行速度是最快的。print比echo要慢,在字符串中进行变量替换时会慢,而连接字符串要比用逗号连接来得慢,最后一句则是第一个习惯的体现。所以,不在字符串中进行变量替换不仅会加快程序运行速度,也会让你的代码在任何语法高亮显示的编辑器中显得更为易懂(变量会被高亮显示出来)。很少人知道echo的参数可以用逗号连接,且速度会比字符串连接要来得快。最后再用上第一个习惯,那这条语句就非常好了。
PHP会将没有括起来的索引辨认为“裸”字符串,并把它解释为一个常量。当找不到该常量的定义时,才将其解释为一个字符串。把索引括起来可以省去这部分工作。
进行常规的字符串操作时,尽可能不要去使用正则表达式(preg和ereg系列函数)。str_replace函数要比preg_replace快得多,甚至strtr函数也要比str_replace来得快。省去这些不必要的麻烦吧。
这个不多说了,你写一个程序,一年后在去翻开看,就会知道注释的重要性。