PHP 高手之路(三)

使用str-replace而不是ereg-replace
习惯使用Perl进行编程的程序员更加愿意使用ereg_replace完成字符串替换工作,因为在PHP中ereg_replace的用法和Perl中模式匹配的用法相近。但是,下面的这段代码证明,使用str_replace 代替 ereg_replace将可以大大提高代码的运行速度。

测试str_replace和ereg_replace的运行速度

//这段代码测试str_replace的运行速度

emphasis; ?>

for ($i=0; $i<1000; $i++) {
str_replace(i>, b>, $string).
;
}
?>

//这段代码测试ereg_replace的运行速度

for ($i=0; $i<1000; $i++) {
ereg_replace(<([/]*)i>, <\1b>, $string).
;
}
?>

//打印结果

结论

使用str_replace的时间 -

使用ereg_pattern的时间 -
运行上面的代码,得到的结果是:
使用str_replace的时间 - 0.089757
使用ereg_pattern的时间 - 0.248881
从运行的结果我们可以看出使用str_replace替代ereg_replace作为字符串替换函数,极大地提高了代码的运行速度。
3.注意字符串的引用
PHP和其它很多编程语言一样,可以使用双引号("")来引用字符串,也可以使用单引号()。但是在PHP中,如果使用双引号来引用字符串,那么PHP解析器将首先分析字符串中有没有对变量的引用,有变量的话,将对变量进行替换。如果是单引号,则没有如此复杂??直接将单引号包含起来的所有字符串直接显示出来。显然,在PHP编程中,如果使用单引号引用字符串变量要比使用双引号快速一些。
4.在数据库中避免使用联合操作
比起其它的Web编程语言来说,PHP的数据库功能十分强大。但是在PHP中数据库的运行仍然是一件十分费时费力的事情,所以,作为一个Web程序员,要尽量减少数据库的查询操作,同时应该为数据库建立适当的索引。另一件值得注意的事情是在用PHP操作数据库时,尽可能不使用多个数据表的联合操作,尽管联合操作可以增强数据库的查询功能,但是却大大增加了服务器的负担。
为了说明这个问题,我们可以看看下面的这个简单的例子。
我们在数据库中创建了两个数据表foo和big_foo。在数据表foo中,只有一个字段,包含了从1-1000之间的所有自然数。数据表big_foo同样只有一个字段,但包含了从1-1,000,000之间的全部自然数。所以,从大小上说,big_foo等于foo与它自身进行了联合操作。
$db->query("select * from foo");
0.032273 secs
$db->next_record();
0.00048999999999999 secs
$db->query("insert into foo values (NULL)");
0.019506 secs
$db->query("select * from foo as a, foo as b");
17.280596 secs
$db->query("select * from foo as a, foo as b where a.id > b.id");
14.645251 secs
$db->query("select * from foo as a, foo as b where a.id = b.id");
0.041269 secs
$db->query("select * from big_foo");
25.393672 secs
从上面操作结果我们可以发现,对于两个有1000条记录的数据表进行联合,其速度并不比对一个1000000条纪录的大型数据表单独进行操作快多少。
5.注意include与require的区别
在PHP变成中,include()与require()的功能相同,但在用法上却有一些不同,include()是有条件包含函数,而require()则是无条件包含函数。例如在下面的一个例子中,如果变量$somgthing为真,则将包含文件somefile:
if($something){
include("somefile");
}
但不管$something取何值,下面的代码将把文件somefile包含进文件里:
if($something){
require("somefile");
}
下面的这个有趣的例子充分说明了这两个函数之间的不同。
$i = 1;
while ($i < 3) {
require("somefile.$i");
$i++;
}
在这段代码中,每一次循环的时候,程序都将把同一个文件包含进去。很显然这不是程序员的初衷,从代码中我们可以看出这段代码希望在每次循环时,将不同的文件包含进来。如果要完成这个功能,必须求助函数include():
$i = 1;
while ($i < 3) {
include("somefile.$i");
$i++;
}
6.注意echo和print的区别
PHP中echo和print的功能也基本相同,但是两者之间也有细微差别。在PHP代码中可以把print作为一个普通函数来使用,例如执行下面的代码后变量$res的值将为1。
$ret = print "Hello World";
这意味着print可用在一些复杂的表达式中,而echo则不行。同样,在代码中echo语句的运行速度要略微快于print语句,因为echo语句不要求返回任何数值

时间: 2024-08-26 05:44:37

PHP 高手之路(三)的相关文章

PS高手之路——三原色赋色法教程

经常被问到网上图片调色教程完全按照步骤却得不到跟网络中一样的效果.时尚新锋数码后期培训特开发本系列教程,分析图片调色特点,用最快捷.易操作的方式将颜色模仿出来-- 网络原片 网络效果 经常被问到网上图片调色教程完全按照步骤却得不到跟网络中一样的效果.原因相信大家也能够理解不是一句就能解释的很清楚的.所以特开发本系列教程,分析图片调色特点,用最快捷.易操作的方式将颜色模仿出来. 打开原片 影楼中输出颜色一般用RGB颜色.RGB颜色为光的三原色,基础色为红.绿.蓝,我们将光的原理应用的图像中,进行适

PS高手之路——PS制作照片下雨特效

时尚新锋数码后期学校推出PS高手之路用滤镜制作照片下雨特效.我们经常看到在雨雪的环境下拍的照片,如果在雨雪中直接拍摄势必对相机是有很大损坏的-- 时尚新锋数码后期学校推出PS高手之路用滤镜制作照片下雨特效.我们经常看到在雨雪的环境下拍的照片,如果在雨雪中直接拍摄势必对相机是有很大损坏的,接下来就一起学习一下吧! 1.开启附录光盘的范例档案后,点选"Layers"浮动窗口下方的"Create a new layer",藉以制造出一个新的图层. 2. 将工具栏的背景色设

《Python高手之路(第3版)》——导读

前 言 Python高手之路(第3版) 如果你正在读这本书,你肯定已经使用Python有一阵子了.你可能是通过一些文档学习的,钻研了一些已有的项目或者从头开发,但不管是哪种情况,你都已经在以自己的方式学习它了.直到3年前我加入OpenStack项目组之前,这其实也正是我个人熟悉Python的方法. 在此之前,我只是开发过一些"车库项目 ①"级别的Python库或应用程序,而一旦你参与开发涉及数百名开发人员并有着上万个用户的软件或库时,情况就会有所不同.OpenStack平台有超过200

我的VSTO之路(三):Word基本知识

原文:我的VSTO之路(三):Word基本知识 在前一篇文章中,我初步介绍了如何如何开发一个VSTO程序,在本文中,我将进一步深入介绍Word的插件开发.Word是一个大家在日常工作中一直接触的文档工具,也是微软最赚钱的产品之一.从最初的Word 1.0到现在的Word 2010历经了13代的演化,已经成为了一个比较复杂的系统.(这里稍微跑题一下,Office 2010的版本代号是version 14,但是我为什么说Word一共演化了13代呢?因为Office并没有Version 13,上一代的

CSDN总裁蒋涛:从软件技术高手到百万富翁的三条捷径

会议开场由CSDN总裁蒋涛为来宾做了开场白,他谈到了从软件技术高手到百万富翁的三条捷径. 第一,在细分.分众市场做特色软件产品.中国软件用户群庞大,需求各异,有的技术高手混得很艰难,有的技术并不 精深却过得还挺滋润,其中原因之一就是找到 了自己的特色领域.蒋涛谈到了他在深圳出差时的见闻.由于有了成熟的手机模块平台,有开发者专门做宗教山寨手机,把佛像做成内置图像,用户可通过内置软件 上香.上贡品,手机的成本不足300元,售价却高达2000元,售者选择在寺庙宗教场所周围卖这类手机,销量相当不错,这正

PHP 高手之路(三)_php基础

使用str-replace而不是ereg-replace   习惯使用Perl进行编程的程序员更加愿意使用ereg_replace完成字符串替换工作,因为在PHP中ereg_replace的用法和Perl中模式匹配的用法相近.但是,下面的这段代码证明,使用str_replace 代替 ereg_replace将可以大大提高代码的运行速度. 测试str_replace和ereg_replace的运行速度   //这段代码测试str_replace的运行速度   emphasis; ?>     f

PHP 高手之路(一)

PHP是一门高效的网络编程语言,由于它具有编写灵活.运行快速等优点,迅速成为Web程序员的首选语言.前不久的一份权威调查表明,现在已经有31.6%的网站使用PHP作为主要的服务器端编程语言. 但是,要成为一名PHP编程高手却并不容易.并不像很多人想象的那样,只要能够飞快地编写几条简单的代码去解决一个复杂的问题就是PHP编程高手了,真正的PHP高手还需要考虑更多的其它问题.以下三条准则是一名成熟的PHP程序员在编程中应该首先遵循的准则. 1.懒惰是金 2.编写漂亮的代码 3.追求程序的速度,而不是

PHP高手之路

PHP是一门高效的网络编程语言,由于它具有编写灵活.运行快速等优点,迅速成为Web程序员的首选语言.前不久的一份权威调查表明,现在已经有31.6%的网站使用PHP作为主要的服务器端编程语言. 但是,要成为一名PHP编程高手却并不容易.并不像很多人想象的那样,只要能够飞快地编写几条简单的代码去解决一个复杂的问题就是PHP编程高手了,真正的PHP高手还需要考虑更多的其它问题.以下三条准则是一名成熟的PHP程序员在编程中应该首先遵循的准则. 1.懒惰是金 2.编写漂亮的代码 3.追求程序的速度,而不是

PPT高手必备的三个小技巧

  PPT现在已经与我们的生活密不可分,随着软件性能越来越强大,功能也愈加丰富完善.有时看见高手们制作PPT时会用许多高级技巧,非常酷.下面,小编分享几个PPT高手必备的小技巧,不仅高大上,而且非常实用. 1.多样的演示功能 站上讲台没有讲义,心里瑟瑟发抖?演讲前,苦于计算时间?say:"NO!"在powerpoint2013(365)"幻灯片放映"栏中,这些功能将让你从排练到演讲都异常完美. 最右边的监视器功能,能设置在面向你的屏幕上所显示的内容.在向来宾正常演示