PHP 高手之路(三) |
| 时间:2009-06-14 14:24:05 作者:chinaitlab 我要投稿 |
Linux初探欢迎您的投稿,投放方法请点击 这里查看,我们会定期赠送精美小礼品给优秀的投稿作者。海纳百川 取则行远!LinuxGoo欢迎您的到来。
使用str-replace而不是ereg-replace
习惯使用Perl进行编程的程序员更加愿意使用ereg_replace完成字符串替换工作,因为在PHP中ereg_replace的用法和Perl中模式匹......
使用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与它自身进行了联合操作。
1/2 1 2 下一页 尾页 |
如果您需转载 PHP 高手之路(三),请注明来自LinuxGoo.com,其版权归原作者所有。请广大网友留言时遵纪守法,使用文明用语。如果您在应用中有什么问题,请在下面留言,我们会尽快解答。
|
|
- 如何在Vista系统下使用虚拟机安装Linux
Vista下利用VMware6安装Fesora8,VMtools及其补丁。本来一直想用VirtualBox - 使用 m17n 实现Unicode 全世界语言间代码移
为了让 Linux - 解决sql server查询速度慢11个方法
在网页制作过程中经常可以遇到SQL Server数据库查询速度慢的的情况,通过总 - 迁移到Linux平台应考虑的十个问题
随着经济环境的恶化和Vista没有获得太多的认可,很多IT部门考虑将平台向Lin - 推荐一个免费的在线SQL Server教学网站
http://www.sqlservercentral.com/articles/video - 利用游标插入表的sql语句
declare n_count integer := 0;cursor cur_bak isselect ID,MAC,IP,NETB - 对有insert触发器表取IDENTITY值时发现的问
问题是这样的:T1表上有一个INSERT的触发器,在插入数据的时候,会自动往T2 - 最全的CSS浏览器兼容问题整理
从网上收集了IE7,6与Fireofx的兼容性处理方法并整理了一下.对于web2.0的 - Linux远程图形化管理几种途径
1,利用Xmanager,linux启用XDMCP协议(可直接修改配置文件,也可以采用在Xshell - Oracle中的ROWNUM和ROWID
对于 Oracle 的 rownum问题,很多资料都说不支持>,>=,=,between...and,只能 - 关于字体路径Windows和Linux差异
ImageTTFText($im,16,0,70,30,$blue,"./simkai.ttf",$char);使用此函数 - Oracle 11g RAC 警告处理
问题.WARNING: You are creating/reusing datafile /dev/rcv_sysaux_800m. - Windows、Apache、Mysql和Php平台搭建
AMP,即使用Windows、Apache、Mysql和Php搭建的Web、数据库平台。
这里我们 - 新手必读:RHCE课堂实验笔记(4)
单元五实验 文件访问权限 估计用时:30分钟 目标:熟悉多个修改文件 - oracle 查看表空间有查看sqlplus进程
col tablespace_name format a10;select f.tablespace_name,a.total,u.u - Sql Server 导出数据库结构
sql200企业管理器--右键要导出的数据库--所有任务--生成SQL脚本--<常规> |
|